GitHub地址
https://github.com/hyperbolaa/Unionpay
交易類型
- 00:查詢交易,
- 01:消費,
- 02:預授權,
- 03:預授權完成,
- 04:退貨,
- 05:圈存,
- 11:代收,
- 12:代付,
- 13:賬單支付,
- 14:轉賬(保留),
- 21:批量交易,
- 22:批量查詢,
- 31:消費撤銷,
- 32:預授權撤銷,
- 33:預授權完成撤銷,
- 71:余額查詢,
- 72:實名認證-建立綁定關系,
- 73:賬單查詢,
- 74:解除綁定關系,
- 75:查詢綁定關系,
- 77:發送短信驗證碼交易,
- 78:開通查詢交易,
- 79:開通交易,
- 94:IC卡腳本通知 ,
- 95:查詢更新加密公鑰證書
產品類型:bizType
- 依據實際業務場景填寫 默認取值:000000 具體取值范圍:
- 000201:B2C 網關支付
- 000301:認證支付 2.0
- 000302:評級支付
- 000401:代付
- 000501:代收
- 000601:賬單支付
- 000801:跨行收單
- 000901:綁定支付
- 001001:訂購
- 000202:B2B
接入類型:accessType
- 0:商戶直接接入
- 1:收單機構接入
- 2:平臺商接入
渠道類型:channelType
- 05:語音
- 07:互聯網
- 08:移動
- 16:數字機頂盒
應答碼:respCode
- 00:成功
- 01-09:銀聯全渠道系統原因導致的錯誤
- 10-29:商戶端上送保溫格式檢查導致的錯誤
- 30-59:商戶端相關業務檢查導致的錯誤
- 60-89:持卡人/發卡行 相關問題導致的錯誤
- 90-99:預留
備注
version5.0.0 與 version5.1.0 驗簽方式不一樣
安裝
composer require hyperbolaa/unionpay dev-master
laravel 配置
'providers' => [
// ...
Hyperbolaa\Unionpay\UnionpayServiceProvider::class,
]
生成配置文件
運行 `php artisan vendor:publish` 命令,
發布配置文件到你的項目中。
app代碼使用
$unionpay = app('unionpay.mobile');
$unionpay->setOrderId('order_id');
$unionpay->setTxnAmt('order_amount');
$unionpay->setTxnTime('req_time');
//返回簽名后的支付參數給移動端的sdk-》{539512046523081531300}
return $unionpay->consume();
wap代碼使用
$unionpay = app('unionpay.wap');
$unionpay->setOrderId('order_id');
$unionpay->setTxnAmt('order_amount');
$unionpay->setTxnTime('req_time');
//返回一個表單
return $unionpay->consume();
異步通知
public function unionpayNotify()
{
if (! app('unionpay.mobile')->verify()) {
Log::notice('unionpay notify post data verification fail.', [
'data' => Request::instance()->getContent()
]);
return 'fail';
}
// 判斷通知類型。
if (Input::get('respCode') == '00') {
// TODO: 支付成功,取得訂單號進行其它相關操作。
Log::debug('unionpay notify get data verification success.', [
'out_trade_no' => Input::get('orderId'),
'trade_no' => Input::get('queryId')
]);
}
return 'success';
}
Related
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。