此软件包已废弃,不再维护。未建议替代软件包。

TBC支付系统

0.2.1 2018-04-20 17:24 UTC

README

即将推出一些优秀的更新...

Latest Stable Version Total Downloads License StyleCI Codacy Badge

TBC支付
TBC Payment 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

文档

该系统中存在两种类型的交易

  1. SMS 是直接支付,在1次事件中扣费。
  2. 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 门面更类似于模型
  • 在供应商中创建支付视图,这样开发者就不必手动完成