vb-payment / chinatrust-vaccount
该包最新版本(v0.1.3)没有提供许可证信息。
v0.1.3
2016-11-29 06:37 UTC
Requires
- illuminate/support: ^5.3|^5.2
- nesbot/carbon: ^1.21
Requires (Dev)
- fzaninotto/faker: ~1.4
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.5
- symfony/process: ~3.0
- symfony/var-dumper: ~3.0
This package is not auto-updated.
Last update: 2024-09-28 20:09:09 UTC
README
$ composer require vb-payment/chinatrust-vaccount
使用VirtualAccountBuilder生成chinatrust虚拟账户表单
<?php use VeryBuy\Payment\ChinaTrust\VirtualAccount\VerifyType; use VeryBuy\Payment\ChinaTrust\VirtualAccount\VirtualAccountBuilder; $companyId = 99123; // 特店代號 $builder = new VirtualAccountBuilder($companyId, [ 'type' => VerifyType::NONE_BASE, // builder 類別 'number' => '123456789', // (14碼)自訂碼 length:9 ]); $vaccount = $builder->make();
使用RequestBuilder将虚拟账户号码注册到ChinaTrust
在请求之前,主机必须追加设置
175.184.247.21 hermes.ctbcbank.com
<?php use VeryBuy\Payment\ChinaTrust\VirtualAccount\Request\RequestBuilder; $response = (new RequestBuilder([ 'wsdl' => $wsdl, 'company' => [ 'id' => 81842, 'number' => 53538135, 'name' => 'VERYBUY', 'alias' => '非常科技', ], ]))->make([ 'channels' => [ RequestBuilder::CHANNEL_BANK, RequestBuilder::CHANNEL_STORE, ], 'customer' => [ 'mid' => '繳款人識別碼(MID1)', // length:20 'name' => '繳款人姓名', // length:100 ], 'vaccount' => $vaccount, 'amount' => 2000, 'expired_at' => strtotime('2016-10-31'), 'store' => [ 'field_name' => '訂單編號', // ibon 上顯示文字 'field_value' => sprintf('T%015d', time()), // ibon 上顯示的值 ], ]);
使用ResponseVerifier验证响应
<?php use VeryBuy\Payment\ChinaTrust\VirtualAccount\Response\ResponseVerifier; $verifier = new ResponseVerifier({response encrypted string}); $verifier->getTradedAt(); // 交易時間 $verifier->getPaidAt(); // 付款時間 $verifier->getVirtualAccount(); // 取得被付款虛擬帳號 $verifier->getAmount(); // 付款金額 // 當收到 Response 後的 HTTP CODE // 200 成功 // 250 重複送(TransactionNo可為重複送的的判斷依據) // 543 失敗
--
- VerifyType::NONE_BASE (不检)
- VerifyType::SINGLE_AMOUNT (单码检核含金额)
- VerifyType::SINGLE_AMOUNT_DATE (单码检核含金额及日期)