下面是关于“php版银联支付接口开发简明教程”的完整攻略。
下面是关于“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版银联支付接口开发简明教程
猜你喜欢
- nginx限制上传大小和超时时间设置说明/php限制上传大小 2023-09-01
- laravel接管Dingo-api和默认的错误处理方式 2023-03-12
- php下intval()和(int)转换使用与区别 2023-12-30
- Laravel 关联模型-关联新增和关联更新的方法 2023-02-22
- php根据某字段对多维数组进行排序的方法 2024-01-13
- Laravel使用模型实现like模糊查询的例子 2023-03-08
- PHP 7.1新特性的汇总介绍 2023-12-12
- PHP使用HTML5 FileApi实现Ajax上传文件功能示例 2023-01-25
- 如何使用PHP7的Yaconf 2022-09-01
- 关于PHP堆栈与列队的学习 2023-12-30