承接 maras0830/laravel-paynow 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

maras0830/laravel-paynow

Composer 安装命令:

composer require maras0830/laravel-paynow

包简介

Laravel 5 for paynow.

README 文档

README

https://github.com/Maras0830/laravel-paynow

ToDo

  • CreditCard Backend Single Transaction
  • Transaction Check
  • Subscription
  • Installment
  • 3-Domain Secure
  • Callback Check

Installation

Enable php extension soap http://php.net/manual/en/book.soap.php

composer require

$ composer require maras0830/laravel-paynow"

add to config/app.php

'providers' => [
   // ....
   Maras0830\PayNowSDK\Providers\PayNowServiceProvider::class
],

publish config file to config/paynow.php

$ php artisan vendor:publish --provider=Maras0830\PayNowSDK\Providers\PayNowServiceProvider

in .env

PAYNOW_DEBUG_MODE=true
PAYNOW_WEB_NO=
PAYNOW_PASSWORD=
PAYNOW_EC_NAME=
PAYNOW_ENCRYPT_KEY=
PAYNOW_IV=
PAYNOW_CARDINAL=

Usage

測試卡號: 4025950011112222 有效年月: 12/12 安全碼:999

  1. CreditCard backend transaction
$now = \Carbon\Carbon::now('Asia/Taipei');
$transaction = new Maras0830\PayNowSDK\CreditCardTransaction($now);

$card_number = '4023730207292803';
$valid_year = '20';
$valid_month = '05';
$safe_code = '685';
    
// $res is transaction response.
$res = $transaction
    ->setEncrypt()
    ->setOrder('測試交易', 'OWLTEST1000111002', 100) // orderinfo strlen > 3
    ->setCreditCard($card_number, $valid_year, $valid_month, $safe_code)
    ->setCustomer(1, 'Eric', '09121212121212', 'test@test.com', '127.0.0.1')
    ->checkout()
    ->decodeAndValidate();
  1. Transaction Check
$my_order_number = 'TEST10001';

$sdk = new Maras0830\PayNowSDK\PayNowAPI();

/**
 * @throws Maras0830\PayNowSDK\Exceptions\OrderNotFoundException
 * @throws Maras0830\PayNowSDK\Exceptions\TransactionException
 * @throws Maras0830\PayNowSDK\Exceptions\OrderIsCancelException
 * @throws Maras0830\PayNowSDK\Exceptions\UnKnownException
 */
$res = $sdk->transactionCheck($my_order_number);

/**
$res => [
    'order_number' => 'xxxxx' // Paynow Order number
    'last4' => 'xxxx'         // CreditCard last4 code
];
**/
  1. Subscription

First Transaction

$now = Carbon\Carbon::now('Asia/Taipei');
$transaction = new Maras0830\PayNowSDK\CreditCardTransaction($now);

$card_number = '4023730207292803';
$valid_year = '22';
$valid_month = '05';
$safe_code = '685';

$account = 'account';
$password = 'password';

/**
 * @throws Maras0830\PayNowSDK\Exceptions\PayNowException
 * @throws Maras0830\PayNowSDK\Exceptions\ValidateException
 * @throws Maras0830\PayNowSDK\Exceptions\TransactionException
 */
$res = $transaction
    ->setEncrypt()
    ->setOrder('測試交易', 'TEST123' . time(), 100) // orderinfo strlen > 3
    ->setCreditCard($card_number, $valid_year, $valid_month, $safe_code)
    ->setCustomer(1, 'Eric', '09121212121212', 'test@test.com', '127.0.0.1', $account, $password)
    ->checkoutAndSaveCard()
    ->decodeAndValidate();

/**
$res = [
    "WebNo" => "70828783"
    "TotalPrice" => 100
    "OrderNo" => "TEST1231593574222"
    "ECPlatform" => null
    "BuySafeNo" => "8000002007014585819"
    "TranStatus" => "S"
    "PassCode" => "FDEA87E80373A00FAD48C89AD5BA32A954675678"
    "RespCode" => "00"
    "ResponseMSG" => ""
    "ApproveCode" => "A00001"
    "last4CardNo" => "2803"
    "CheckNo" => null
    "InvoiceNo" => null
    "batchNo" => null
    "InvoiceStatus" => null
    "Result3D" => ""
    "CIFID_SN" => "1"  // 該卡 token, 請保存
    "ReturnURL" => null
    "ErrorMessage" => ""
]
*/

Others Transaction

$now = Carbon\Carbon::now('Asia/Taipei');
$transaction = new Maras0830\PayNowSDK\CreditCardTransaction($now);

$account = 'account';
$password = 'password';
$card_sn = '123'; // CIFID_SN

$res = $transaction
    ->setEncrypt()
    ->setOrder('測試交易', 'TEST123' . time(), 100) // orderinfo strlen > 3
    ->setCustomer(1, 'Eric', '09121212121212', 'test@test.com', '127.0.0.1', $account, $password)
    ->checkoutBySN($card_sn) // safe_code can use 'XXX'
    ->decodeAndValidate();

/**
$res = [
    "WebNo" => "70828783"
    "TotalPrice" => 100
    "OrderNo" => "TEST1231593574222"
    "ECPlatform" => null
    "BuySafeNo" => "8000002007014585819"
    "TranStatus" => "S"
    "PassCode" => "FDEA87E80373A00FAD48C89AD5BA32A954675678"
    "RespCode" => "00"
    "ResponseMSG" => ""
    "ApproveCode" => "A00001"
    "last4CardNo" => "2803"
    "CheckNo" => null
    "InvoiceNo" => null
    "batchNo" => null
    "InvoiceStatus" => null
    "Result3D" => ""
    "CIFID_SN" => "1"  // 該卡 token, 請保存
    "ReturnURL" => null
    "ErrorMessage" => ""
]
*/

Refund Order

$payment_refund = new Maras0830\PayNowSDK\PaymentRefund();

$res = $payment_refund->refund(
    '8000001910145799460',
    '860.0000',
    '退款測試',
    1,
    '',
    '',
    '',
    'harley@gs8899.com.tw',
    'Harley',
    'harley@gs8899.com.tw'
);

交易錯誤碼

PayNow Code Exception Code Error Msg
0 0 unknown error
01 01 發卡銀行要求回覆(call bank)
02 02 發卡銀行要求回覆(call bank)
04 04 拒絕交易,請聯絡發卡銀行
05 05 發卡銀行拒絕交易
06 06 發卡銀行拒絕交易
07 07 發卡銀行拒絕交易
12 12 拒絕交易,卡號錯誤
14 14 拒絕交易,卡號錯誤
15 15 無此發卡銀行
33 33 拒絕交易,過期卡
41 41 拒絕交易,請聯絡發卡銀行
43 43 拒絕交易,請聯絡發卡銀行
51 51 信用卡額度不足
54 54 拒絕交易,過期卡
55 55 拒絕交易,密碼錯誤
56 56 發卡銀行拒絕交易
57 57 發卡銀行拒絕交易
58 58 發卡銀行拒絕交易
62 62 發卡銀行拒絕交易
87 87 拒絕交易,請聯絡發卡銀行
90 90 銀行系統結算中
96 96 收單行系統功能異常
916 916 主機斷線
920 920 拒絕交易,卡號錯誤
922 922 密碼錯誤
933 933 訂單編號不存在
934 934 發卡行3D頁面驗證錯誤
935 935 發卡行3D頁面驗證錯誤
939 939 MID 停用
N7 1007 拒絕交易,請聯絡發卡銀行
P1 1011 拒絕交易 超過日限額度
Q1 1021 發卡銀行拒絕交易

取消狀態

Code status
0 買家申請退貨
1 買賣家確認
2 銀行退款
3 賣家申請退款

maras0830/laravel-paynow 适用场景与选型建议

maras0830/laravel-paynow 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.66k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2018 年 08 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 maras0830/laravel-paynow 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 maras0830/laravel-paynow 我们能提供哪些服务?
定制开发 / 二次开发

基于 maras0830/laravel-paynow 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 10.66k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2018-08-08