PHP银联支付接口

同事整理的银联支付接口:
链接:http://pan.baidu.com/s/1boMJ2z1 密码:qxcx

1.首先导入Api银联支付接口到项目的Aip目录下。
PHP银联支付接口

2.前端创建如下相对应页面
PHP银联支付接口
2-1
PHP银联支付接口
2-2
3.填写如上图2-2的真实个人信息数据。发form表单或者ajax到后台方法中。
如下图:
PHP银联支付接口
PHP银联支付接口
3-1
上图3-1中最重要的是:

$pay_config['backurl']//这是支付成功后的你该做的操作回调入径

3-2

返回值$pay_request['bftcode'] == "1000"时候是正确的:
下图3-3正确的返回值里的回调参数$list很重要:
PHP银联支付接口
3-3
填写短信验证码:

PHP银联支付接口
3-4

将填写后的验证码与图3-3返回的$list的值一起丢给后台smscode()方法中
PHP银联支付接口

PHP银联支付接口
3-5

$pay_request["btfcode"] == "1000"为支付成功的返回值
已经默认调用了图3-1的$pay_config['backurl']这个入径中的方法。

PHP银联支付接口

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的返回页面信息。
PHP银联支付接口
3-7
在kuaiPayApi.class.php这个文件下有个写入文件的方法。
PHP银联支付接口
3-8
其中:
C("YIN_PATH")     C方法调用的配置信息是自己在config.php配置文件里定义的。
PHP银联支付接口
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
                ];
            }