下面是关于“php版银联支付接口开发简明教程”的完整攻略。
一、前置知识
在开始使用银联支付接口进行开发之前,需要掌握以下知识:
- PHP基础知识
- 网络编程基础知识
- HTTP协议基础知识
- rsa加密算法基础知识
二、准备工作
在进行银联支付接口开发之前,需要进行以下准备工作:
- 申请商户号和商户秘钥
- 下载工具包并解压
- 了解银联支付接口开发文档
三、接口集成
- 引入相关库文件
require "lib/SDKConfig.php";
require "lib/secureUtil.php";
require "lib/LogUtil.php";
- 设置接口请求参数
$params = array(
'version' => '5.0.0',
'encoding' => 'utf-8',
'certId' => getSignCertId (),
'txnType' => '01',
'txnSubType' => '01',
'bizType' => '000201',
'frontUrl' => FRONT_NOTIFY_URL,//前台通知地址
'backUrl' => BACK_NOTIFY_URL,//后台通知地址
'signMethod' => '01',
'channelType' => '07',
'accessType' => '0',
'currencyCode' => '156',
'merId' => '898340183922222',
'orderTime' => date ( 'YmdHis' ),
'orderId' => date ( 'YmdHis' ) . rand ( 1000, 9999 ),
'txnAmt' => '100',
'txnTimeout' => date ( 'YmdHis', strtotime('+15 minutes')),
);
- 签名
sign($params);
- 发送请求
$result = post($params, SDK_FRONT_TRANS_URL);
至此,银联支付接口集成完毕。
四、示例说明
下面是两个示例说明:
示例一
用户购买商品时,会跳转到银联支付页面,用户输入银行卡信息,银行卡授权完成后,银联会将支付结果返回给商户。
//处理银联支付结果
if( $_POST && isset( $_POST['signature'] ) && isset( $_POST['respCode'] ) && $_POST['respCode'] == '00' ){
$params = array(
'version' => $_POST['version'],
'encoding' => $_POST['encoding'],
'certId' => getSignCertId (),
'signature' => $_POST['signature'],
'txnType' => $_POST['txnType'],
'txnSubType' => $_POST['txnSubType'],
'bizType' => $_POST['bizType'],
'accessType' => $_POST['accessType'],
'merId' => $_POST['merId'],
'orderId' => $_POST['orderId'],
'txnTime' => $_POST['txnTime'],
'txnAmt' => $_POST['txnAmt'],
'currencyCode' => $_POST['currencyCode'],
'queryId' => $_POST['queryId'],
'respCode' => $_POST['respCode'],
'respMsg' => $_POST['respMsg']
);
//验证签名,如果验证通过,则处理订单
if ( verify ( $params ) ) {
//处理订单
orderProc('success', $params);
} else {
orderProc('failure', $params);
}
}
示例二
商户下单成功后,发起支付请求,银联处理完成后,将支付结果返回给商户。
//商户下单成功后再调用此接口
$params = array(
'version' => '5.0.0',
'encoding' => 'utf-8',
'certId' => getSignCertId (),
'txnType' => '01',
'txnSubType' => '01',
'bizType' => '000201',
'frontUrl' => FRONT_NOTIFY_URL,//前台通知地址
'backUrl' => BACK_NOTIFY_URL,//后台通知地址
'signMethod' => '01',
'channelType' => '07',
'accessType' => '0',
'currencyCode' => '156',
'merId' => '898340183922222',
'orderTime' => date ( 'YmdHis' ),
'orderId' => date ( 'YmdHis' ) . rand ( 1000, 9999 ),
'txnAmt' => '100',
'txnTimeout' => date ( 'YmdHis', strtotime('+15 minutes')),
);
//签名
sign($params);
//发送请求
$result = post($params, SDK_FRONT_TRANS_URL);
以上就是“php版银联支付接口开发简明教程”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php版银联支付接口开发简明教程 - Python技术站