vb-payment / chinatrust-vaccount
Installs: 16 758
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 4
Forks: 0
Open Issues: 0
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: 2025-02-01 22:08:22 UTC
README
$ composer require vb-payment/chinatrust-vaccount
Use VirtualAccountBuilder generate form for chinatrust virtual account
<?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();
Use RequestBuilder register virtual account number to ChinaTrust
before request, hosts have to append settings
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 上顯示的值 ], ]);
Use ResponseVerifier verify response
<?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 (單碼檢核含金額及日期)