同事整理的银联支付接口:
链接:http://pan.baidu.com/s/1boMJ2z1 密码:qxcx
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzcyNS8wZTUxNGFkOTVmOTgxN2U4MTJjOGI2YzA1MDMxYmMwZC5wbmc%3D.png?w=700&webp=1)
2.前端创建如下相对应页面
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzc5LzMwZDFkN2E3OGFkZWJmZTgxODFhN2Y3NzIyY2JjZGVmLnBuZw%3D%3D.png?w=700&webp=1)
2-1
2-2
3.填写如上图2-2的真实个人信息数据。发form表单或者ajax到后台方法中。
如下图:
3-1
上图3-1中最重要的是:
$pay_config['backurl']//这是支付成功后的你该做的操作回调入径
3-2
返回值$pay_request['bftcode'] == "1000"时候是正确的:
下图3-3正确的返回值里的回调参数$list很重要:
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzQ1MS83ODIzNzUxYmZkMTk3NTBiYjQ5MjM1Mzc5ZTIyY2ZmMy5wbmc%3D.png?w=700&webp=1)
3-3
填写短信验证码:
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY4LzNkYzNmMWM4YWRmZDJmZGQ5Mjk2ZTAzMDEyYmMwZDE0LnBuZw%3D%3D.png?w=700&webp=1)
3-4
将填写后的验证码与图3-3返回的$list的值一起丢给后台smscode()方法中
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzEyOC9hZTBmYjcwYmJlZjhiYTg5NzJjMDVmZGY0MjJhYWEyMC5wbmc%3D.png?w=700&webp=1)
3-5
$pay_request["btfcode"] == "1000"为支付成功的返回值:
已经默认调用了图3-1的$pay_config['backurl']这个入径中的方法。
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE4NC8zYjhkZTE4YTU0YzA5YTY0NDZiMTVlYjA2MWVkNDk0OC5wbmc%3D.png?w=700&webp=1)
3-6
调用KuaiPayApi接口的两次不同传参:
type1和type2所执行的代码请看接口。
$pay=new KuaiPayApi($pay_config,1);
$pay=new KuaiPayApi($pay_config,2,$list);
错误返回值需注意:
如果返回值$pay_request['bftcode'] == "3006"时,应当返回银联的页面,因为3006返回的就是一个页面信息,所以要我们自己在项目中做一个html文件来写入3006的返回页面信息。
3-7
在kuaiPayApi.class.php这个文件下有个写入文件的方法。
3-8
其中:
C("YIN_PATH") C方法调用的配置信息是自己在config.php配置文件里定义的。
![PHP银联支付接口 PHP银联支付接口](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk0MC8xOGRmYmRmMTk4ZTM2NGQxY2JmNmE1M2MzNmZjZTY2NC5wbmc%3D.png?w=700&webp=1)
3-9
YIN_PATH 是从项目服务器读取的入径
PATH_FILE 是项目入径
BASEURL 是项目域名
图3-7中的$file_usl入径返回给前端生成就可以了。
其他错误返回值代码:
if ($pay_request['bftcode'] == "3003"){
$data = [
"status" => -3,
"info" => "订单处理失败,创建订单过于频繁",
"data" => null
];
}
elseif ($pay_request['bftcode'] == "3004"){
$data = [
"status" => -4,
"info" => "该时段无法交易",
"data" => null
];
}
elseif ($pay_request['bftcode'] == "3008"){
$data = [
"status" => -5,
"info" => "订单金额违法",
"data" => null
];
}
elseif ($pay_request['bftcode'] == "8103"){
$data = [
"status" => -6,
"info" => "快捷提交太多或过快",
"data" => null
];
}
elseif ($pay_request['bftcode'] == "4001"){
$data = [
"status" => -7,
"info" => "银行api参数错误",
"data" => null
];
}