zgabievi / tbc
此软件包已废弃,不再维护。未建议替代软件包。
TBC支付系统
0.2.1
2018-04-20 17:24 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: ^6.1.4
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ^3.0.0
This package is not auto-updated.
Last update: 2021-02-05 22:58:39 UTC
README
即将推出一些优秀的更新...
TBC支付 | |
---|---|
为 Laravel 5.* 提供的 "TBC" 支付集成,专为格鲁吉亚开发者创建。💡 受到 tbcpay-php(来自 Sandro Dzneladze)的启发 🎉 欢迎提交拉取请求。 |
目录
安装
Composer
在您的终端中运行composer命令。
composer require zgabievi/tbc
Laravel
打开 config/app.php
并找到 providers
键。将 TBCServiceProvider
添加到数组中。
Gabievi\TBC\TBCServiceProvider::class
找到 aliases
键并将 Facade
添加到数组中。
'TBC' => Gabievi\TBC\TBCFacade::class
文档
该系统中存在两种类型的交易
- SMS 是直接支付,在1次事件中扣费。
- DMS 是延迟支付,需要2次事件
- 第一次事件在卡片上锁定资金
- 第二次事件取走资金(例如,当产品发货给客户时可以执行)
每24小时,商家必须向银行服务器发送关闭营业日的请求
使用方法
您需要了解几种方法
SMSTransaction($amount, $currency = 981, $description = '', $language = 'GE')
DMSAuthorization($amount, $currency = 981, $description = '', $language = 'GE')
DMSTransaction($txn_id, $amount, $currency = 981, $description = '', $language = 'GE')
getTransactionResult($txn_id)
reverseTransaction($txn_id, $amount = '', $suspected_fraud = '')
refundTransaction($txn_id)
creditTransaction($txn_id, $amount = '')
closeDay()
示例
在您的 routes.php
中创建路由
Route::get('payment/{status}', function($status) { if ($status == 'success') { return TBC::getTransactionResult(request('trans_id')); } return 'FAIL!'; })->where('status', 'success|fail'); Route::get('pay', function() { return view('payment.tbc', [ 'start' => TBC::SMSTransaction(1) ]); });
创建 payment/tbc.blade.php
。它应该看起来像
<!doctype html> <html> <head> <title>TBC</title> </head> <body> @if(isset($start['error'])) <h2>Error:</h2> <h1>{{ $start['error'] }}</h1> @elseif(isset($start['TRANSACTION_ID'])) <form name="returnform" id="Pay" action="https://securepay.ufc.ge/ecomm2/ClientHandler" method="POST"> <input type="hidden" name="trans_id" value="{{ $start['TRANSACTION_ID'] }}"> <noscript> <center>Please click the submit button below.<br> <input type="submit" name="submit" value="Submit"></center> </noscript> </form> <script> window.onload = document.forms.Pay.submit; </script> @endif </body> </html>
代码
键 | 值 | 描述 |
---|---|---|
000 | 批准 | 批准 |
001 | 批准并带有ID | 批准并使用身份识别 |
002 | 批准 | 批准部分金额 |
003 | 批准 | 批准VIP |
004 | 批准 | 批准,更新跟踪3 |
005 | 批准 | 批准,发卡行指定的账户类型 |
006 | 批准 | 批准部分金额,发卡行指定的账户类型 |
007 | 批准 | 批准,更新ICC |
100 | 拒绝 | 拒绝(一般,无注释) |
101 | 拒绝 | 拒绝,过期卡片 |
102 | 拒绝 | 拒绝,疑似欺诈 |
103 | 拒绝 | 拒绝,卡片接受者联系发卡行 |
104 | 拒绝 | 拒绝,受限卡片 |
105 | 拒绝 | 拒绝,卡片接受器呼叫收单方安全部门 |
106 | 拒绝 | 拒绝,允许的PIN尝试次数超出 |
107 | 拒绝 | 拒绝,请参考发卡行 |
108 | 拒绝 | 拒绝,请参考发卡行的特殊条件 |
109 | 拒绝 | 拒绝,无效的商家 |
110 | 拒绝 | 拒绝,无效的金额 |
111 | 拒绝 | 拒绝,无效的卡号 |
112 | 拒绝 | 拒绝,需要PIN数据 |
113 | 拒绝 | 拒绝,不可接受的费用 |
114 | 拒绝 | 拒绝,没有请求的账户类型 |
115 | 拒绝 | 拒绝,请求的功能不受支持 |
116 | 拒绝,无资金 | 拒绝,资金不足 |
117 | 拒绝 | 拒绝,PIN不正确 |
118 | 拒绝 | 拒绝,无卡记录 |
119 | 拒绝 | 拒绝,交易不允许给持卡人 |
120 | 拒绝 | 拒绝,交易不允许给终端 |
121 | 拒绝 | 拒绝,超出取款金额限制 |
122 | 拒绝 | 拒绝,安全违规 |
123 | 拒绝 | 拒绝,超出取款频率限制 |
124 | 拒绝 | 拒绝,违法行为 |
125 | 拒绝 | 拒绝,卡无效 |
126 | 拒绝 | 拒绝,无效的PIN块 |
127 | 拒绝 | 拒绝,PIN长度错误 |
128 | 拒绝 | 拒绝,PIN同步错误 |
129 | 拒绝 | 拒绝,疑似伪造卡 |
180 | 拒绝 | 拒绝,持卡人意愿 |
200 | 取卡 | 取卡(一般,无注释) |
201 | 取卡 | 取卡,过期卡 |
202 | 取卡 | 取卡,疑似欺诈 |
203 | 取卡 | 取卡,卡片接受器联系卡收单方 |
204 | 取卡 | 取卡,受限卡 |
205 | 取卡 | 取卡,卡片接受器呼叫收单方安全部门 |
206 | 取卡 | 取卡,允许的PIN尝试次数超出 |
207 | 取卡 | 取卡,特殊条件 |
208 | 取卡 | 取卡,丢失卡 |
209 | 取卡 | 取卡,被盗卡 |
210 | 取卡 | 取卡,疑似伪造卡 |
300 | 呼叫收单方 | 状态信息:文件操作成功 |
301 | 呼叫收单方 | 状态信息:接收方不支持文件操作 |
302 | 呼叫收单方 | 状态信息:无法在文件中找到记录 |
303 | 呼叫收单方 | 状态信息:重复记录,旧记录被替换 |
304 | 呼叫收单方 | 状态信息:文件记录字段编辑错误 |
305 | 呼叫收单方 | 状态信息:文件被锁定 |
306 | 呼叫收单方 | 状态信息:文件操作不成功 |
307 | 呼叫收单方 | 状态信息:文件数据格式错误 |
308 | 呼叫收单方 | 状态信息:重复记录,新记录被拒绝 |
309 | 呼叫收单方 | 状态信息:未知文件 |
400 | 接受 | 接受(用于冲正) |
499 | 批准 | 批准,无原始消息数据 |
500 | 呼叫收单方 | 状态信息:已对账,平衡 |
501 | 呼叫收单方 | 状态信息:已对账,不平衡 |
502 | 呼叫收单方 | 状态信息:金额未对账,提供总计 |
503 | 呼叫收单方 | 状态信息:对账总计不可用 |
504 | 呼叫收单方 | 状态信息:未对账,提供总计 |
600 | 接受 | 接受(用于管理信息) |
601 | 呼叫收单方 | 状态信息:无法追踪原始交易 |
602 | 呼叫收单方 | 状态信息:无效的交易参考号 |
603 | 呼叫收单方 | 状态信息:参考号/PAN不兼容 |
604 | 呼叫收单方 | 状态信息:POS照片不可用 |
605 | 呼叫收单方 | 状态信息:已提供请求项 |
606 | 呼叫收单方 | 状态信息:请求无法满足 - 所需文件不可用 |
680 | 列表就绪 | 列表就绪 |
681 | 列表未就绪 | 列表未就绪 |
700 | 接受 | 接受(用于费用收取) |
800 | 接受 | 接受(用于网络管理) |
900 | 接受 | 通知已确认,不接受财务责任 |
901 | 接受 | 通知已确认,接受财务责任 |
902 | 呼叫收单方 | 拒绝原因消息:无效的交易 |
903 | 呼叫收单方 | 状态信息:重新输入交易 |
904 | 呼叫收单方 | 拒绝原因消息:格式错误 |
905 | 呼叫收单方 | 拒绝原因消息:收单方不受交换支持 |
906 | 呼叫收单方 | 拒绝原因消息:切换过程中 |
907 | 呼叫收单方 | 拒绝原因消息:发卡行或交换不可用 |
908 | 呼叫收单方 | 拒绝原因消息:交易目的地无法找到进行路由 |
909 | 呼叫收单方 | 拒绝原因消息:系统故障 |
910 | 呼叫收单方 | 拒绝原因消息:发卡行已关闭 |
911 | 呼叫收单方 | 拒绝原因消息:发卡行超时 |
912 | 呼叫收单方 | 拒绝原因消息:发卡行不可用 |
913 | 呼叫收单方 | 拒绝原因消息:重复传输 |
914 | 呼叫收单方 | 拒绝原因消息:无法追踪到原始交易 |
915 | 呼叫收单方 | 拒绝原因消息:对账切换或检查点错误 |
916 | 呼叫收单方 | 拒绝原因消息:MAC不正确 |
917 | 呼叫收单方 | 拒绝原因消息:MAC密钥同步错误 |
918 | 呼叫收单方 | 拒绝原因消息:无可用通信密钥 |
919 | 呼叫收单方 | 拒绝原因消息:加密密钥同步错误 |
920 | 呼叫收单方 | 拒绝原因信息:安全软件/硬件错误 - 尝试再次 |
921 | 呼叫收单方 | 拒绝原因信息:安全软件/硬件错误 - 无操作 |
922 | 呼叫收单方 | 拒绝原因信息:消息编号顺序错误 |
923 | 呼叫收单方 | 状态信息:请求进行中 |
950 | 未接受 | 拒绝原因信息:违反商业安排 |
XXX | 未定义 | 代码将被卡片状态代码或停用列表插入原因代码替换 |
配置
使用命令发布TBC配置文件
php artisan vendor:publish
创建了文件 config\tbc.php
。在里面您可以随意更改配置。
许可证
laravel-tbcpay 在 MIT 许可证 下授权。
待办事项
- 从 README 中获取响应代码并将其放在其他地方
- 创建一些测试来检查全部功能
- 使 TBC 门面更类似于模型
- 在供应商中创建支付视图,这样开发者就不必手动完成