hughes / sinopac-vaccount
There is no license information available for the latest version (v1.0.2) of this package.
v1.0.2
2017-05-17 06:14 UTC
Requires
- hughes/sinopac-core: ^1.0
- nesbot/carbon: ^1.21
Requires (Dev)
- phpunit/phpunit: ~5.5
- symfony/process: ~3.0
- symfony/var-dumper: ~3.0
This package is not auto-updated.
Last update: 2024-05-08 01:01:39 UTC
README
$ composer require hughes/sinopac-vaccount
Use RequestBuilder make a request to get sinopac virtual account
<?php use VeryBuy\Payment\SinoPac\RequestBuilder; use VeryBuy\Payment\SinoPac\VirtualAccount\VirtualAccountRequest; use VeryBuy\Payment\SinoPac\SinoPacContract; $request = new VirtualAccountRequest( SinoPacContract::REQUEST_VACCOUNT_TEST, [ 'OrderNO' => 'T'.date('YmdHis'), // 訂單編號 'Amount' => 1230000, // 只能 <= 30,000.00 'ExpireDate' => date('Ymd', strtotime('+30 days')), // 設至日期需 <= d+30 'PrdtName' => 'test', // 收款名稱只能中英文不能特殊符號最大60字元 ] ); $companyId = 'AB0178'; // 商家代碼 $vaccount = (new RequestBuilder($companyId, [ 'KeyData1' => '7ef61f50-ed9f-4321-b6a2-f60bdafc1e2e', 'KeyData2' => 'cd3d5255-799e-4210-b9df-1fe3f85d9a55', 'KeyData3' => 'e640acf0-be7e-4805-9aed-2a52d882cde4' ]))->make($request)->getVirtualAccount();
Auto push
Use ResponseVerifier verify response
<?php use VeryBuy\Payment\SinoPac\ResponseVerifier; $verifier = new ResponseVerifier({response xml string}); $verifier->getTradedAt(); // 交易時間 $verifier->getPaidAt(); // 付款時間 $verifier->getAmount(); // 付款金額 $verifier->getOrderNumber(); // 訂單編號 $verifier->getId(); // 永豐自訂 id
Response for sinopac auto push
<?php use VeryBuy\Payment\SinoPac\ResponseVerifier; use VeryBuy\Payment\SinoPac\Requests\CloseCaseResponseRequest; $verifier = new ResponseVerifier({response xml string}); /** * auto push response success xml */ $success = (new CloseCaseResponseRequest([ 'OrderID' => $verifier->getOrderNumber(), 'ShopNO' => $verifier->getCompanyId(), 'TSNO' => $verifier->getId(), 'Amount' => $verifier->getAmount(), ]))->success(); $verifier->toXml($success); /** * auto push response success xml */ $failed = (new CloseCaseResponseRequest([ 'OrderID' => $verifier->getOrderNumber(), 'ShopNO' => $verifier->getCompanyId(), 'TSNO' => $verifier->getId(), 'Amount' => $verifier->getAmount(), ]))->failed(); $verifier->toXml($failed);