说明:此方法仅用SDK的对接 没有使用官方提供的demo
官方SDK的下载地址:https://github.com/alipay/alipay-sdk-php-all
使用框架:thinkphp5.0.24
将支付宝sdk放入框架extend(第三方扩展库)\alipay文件中;
对接SDK的三步曲:
第一:下载SDK
第二:放到第三方扩展库文件夹中
第三:编写API来进行调用
API编写的九步曲
1、引入实例化客户端
2、初始化信息 (new一个新对象)Aopclient
3、配置appid,公钥,私钥等基础信息
4、引入网站支付的文件,并new网站支付的对象
5、设置网站支付的异步及同步URL
6、设置产品参数:
产品参数注意事项
1、json格式 可以写成数组形式,然后通过json_encode进行数据转换
2、产品必备参数:
‘out_trade_no’ //订单编号
‘total_amount’ //订单金额
‘subject’ //商品名称
‘product_code’ => ‘FAST_INSTANT_TRADE_PAY’ // /** 销售产品码,固定值:FAST_INSTANT_TRADE_PAY **/
3、小技巧,为避免出现太多的代码冗余,建立出来三个数组
A数组放产品信息 :‘out_trade_no’ //订单编号 ‘total_amount’ //订单金额 ‘subject’ //商品名称
例:
$good = ['out_trade_no' => '2020000000', 'total_amount' =>'0.01', 'subject' => '测试产品' ]
B数组放支付宝的销售产品码,电脑支付的产品码为固定值: FAST_INSTANT_TRADE_PAY
例:
$proCode = ['product_code' => 'FAST_INSTANT_TRADE_PAY']
C数组将以上两个数组进行合并
我使用的方法为:
$bizContent = $good + $proCode
百度了一下,网站有很多数组合并的方法,例如:array_merge()函数
<?php
$a1=array("张三","李四");
$a2=array("王五","赵六");
print_r(array_merge($a1,$a2));
?>
7、客户端 调用请求类型
$clicent -> pageExecute('请求对象','请求方式');
请求对象为:实例化的网站支付的对象
请求方式:sdk默认的请求方式为post
8、返给调用者信息 使用htmlspecialchars
进行数据过滤
9、直接调用即可