jetfueltw / biwpay-php
This package is abandoned and no longer maintained.
No replacement package was suggested.
biwpay payment gateway php package
v1.0.1
2018-01-30 09:30 UTC
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- fzaninotto/faker: ^1.7
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2025-03-01 00:23:26 UTC
README
全球付 PHP 版本封裝。
安裝
使用 Composer 安裝。
composer require jetfueltw/biwpay-php
使用方法
掃碼支付下單
使用微信支付、QQ錢包、支付寶掃碼支付,下單後返回支付網址,請自行轉為 QR Code。
$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // MD5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$channel = Channel::WECHAT; // 支付通道,支援微信支付、QQ錢包、支付寶
$amount = 1.00; // 消費金額 (元)
$notifyUrl = 'https://XXX.XXX.XXX'; // 交易完成後異步通知接口
$returnUrl = 'https://XXX.XXX.XXX'; // 交易完成後會跳轉到這個頁面
$payment = new DigitalPayment(merchantId, secretKey);
$result = $payment->order($tradeNo, $channel, $amount, $notifyUrl, $returnUrl);
Result:
[
'mer_no' => 'XXXXXXXXXXXXXXX'; // 商家號
'mer_order_no' => '20180109023351XXXXX'; // 商家產生的唯一訂單號
'order_no' => 'XXXXXXXXXXXXX'; // 平台訂單號
'auth_result' => 'SUCCESS'; // 回應成功
'trade_result' => 'X'; //0 未支付;1 支付成功 2 支付失敗;3 預支付成功
'error_msg' =>'XXXXXXXXXX'; //返回錯誤信息
'trade_return_msg' =>'XXXXXXX', // auth_result=SUCCESS 並且 trade_result=3將會返回對應二維碼url
'mer_return_msg' => 'XXXXXXXXXX'; //商户返回信息说明
'sign_type' => 'MD5'; //
'sign' = > 'XXXXXXXXXXXXXXXXXXXXXXXXXX'; //簽名
];
掃碼支付交易成功通知
消費者支付成功後,平台會發出 HTTP POST 請求到你下單時填的 $notifyUrl,商家在收到通知並處理完後必須回應 SUCCESS
。
- 商家必需正確處理重複通知的情況。
- 能使用
NotifyWebhook@successNotifyResponse
返回成功回應。 - 務必使用
NotifyWebhook@verifyNotifyPayload
驗證簽證是否正確。 - 通知的消費金額單位為
元
。
Post Data:
[
'trade_result' => 'X'; // 交易結果; 0 未支付 1 支付成功
'mer_no' => 'XXXXXXXXXXXXXXX'; // 商家號
'mer_return_msg' => 'XXXXXXXX'; // 商戶返回信息說明
'mer_order_no' => '20180109023351XXXXX'; // 商家產生的唯一訂單號
'notify_type' => 'back_notify'; // 通知類型
'currency' => 1; //幣種
'trade_amount' => '1.00'; //交易金額 單位為元
'order_date' => '2018-01-16 20:13:29'; // 訂單時間
'pay_date' => '2018-01-16 22:13:29'; // 支付時間
'order_no' => 'XXXXXXX'; //支付訂單號
'sign_type' => 'MD5'; //簽名類型
'sign' => 'XXXXXXXXXXXXXXXXXXXXXX'; //簽名
]
掃碼支付訂單查詢
使用商家訂單號查詢單筆訂單狀態。
$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // MD5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$tradeQuery = new TradeQuery(merchantId, secretKey);
$result = $tradeQuery->find($tradeNo);
Result:
[
'auth_result' => 'SUCCESS'; // 請求驗證結果:SUCCESS:成功,其他,失敗
'trade_result' => 'X'; // 0 未支付 1 支付成功
'error_msg' => 'XXXXXXXXXXX'; // 錯誤訊息
'mer_no' => 'XXXXXXXXXXXXXXX'; // 商家號
'mer_order_no' => '20180109023351XXXXX'; // 商家訂單號
'order_no' => 'XXXXXXX'; // 平台訂單號
'trade_amount' => '1.00'; // 交易金額 單位為元
'pay_date' => '2018-01-16 22:13:29'; // 支付時間
'sign' => 'XXXXXXXXXXXXXXXXXX'; //簽名
'sign_type' => 'MD5'; //簽名類型
]
掃碼支付訂單支付成功查詢
使用商家訂單號查詢單筆訂單是否支付成功。
$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // MD5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$tradeQuery = new TradeQuery($merchantId, $secretKey);
$result = $tradeQuery->isPaid($tradeNo);
Result:
bool(true|false)
網銀支付下單
使用網路銀行支付,下單後返回跳轉頁面,請 render 到客戶端。
$merchantId = 'XXXXXXXXXXXXXXX'; // 商家號
$secretKey = 'XXXXXXXXXXXXXXX'; // MD5 密鑰
$tradeNo = '20180109023351XXXXX'; // 商家產生的唯一訂單號
$bank = Bank::ABC; // 銀行編號
$amount = 1.00; // 消費金額 (元)
$notifyUrl = 'https://XXX.XXX.XXX'; // 交易完成後異步通知接口
$returnUrl = 'https://XXX.XXX.XXX'; // 交易完成後會跳轉到這個頁面
$payment = new BankPayment($merchantId, $secretKey);
$result = $payment->order($tradeNo, $bank, $amount, $notifyUrl, $returnUrl);
Result:
跳轉用的 HTML,請 render 到客戶端
網銀支付交易成功通知
同掃碼支付交易成功通知
網銀支付訂單查詢
同掃碼支付訂單查詢
網銀支付訂單支付成功查詢
同掃碼支付訂單支付成功查詢