最近在配合手机APP支付,把流程走了一遍,写下来备忘。
一、支付宝账号开通
1、用支付宝企业账号,申请开通【移动快捷支付】,下载支付宝数据包
https://b.alipay.com/order/techService.htm
2、解压【移动支付接口SDK2.0标准版(20150121)】,找到openssl文件夹:
移动支付接口SDK2.0标准版(20150121)\DEMO\服务端demo\PHP-UTF-8\openssl
二、生成APP需要的文件
genrsa -out rsa_private_key.pem 1024
这时在bin目录下会看一个新文件:rsa_private_key.pem
4、生成APP需要的RSA公钥文件:rsa_public_key.pem,接着输入命令:
rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
这时在bin目录下又多出一个新文件:rsa_public_key.pem
5、生成APP需要的PKCS8编码的私钥:
pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
右键cmd窗口标题栏,选择“编辑”->“复制”,把复制的内容粘贴进一个新的记事本,可随意命名,只要知道这个是PKCS8格式的私钥即可(以上三个文件都需好好保存)。
以上3、4、5步也可以参见支付宝开发文档:【移动支付接口SDK2.0标准版接入与使用规则.pdf】,拉到最底下“RSA秘钥生成与使用”章节可见。
三、上传网站需要的支付接口文件
6、将上面的rsa_public_key.pem文件复制一份,重命名:alipay_public_key.pem,再将alipay_public_key.pem和上面的rsa_private_key.pem复制,覆盖到如下文件夹:
\移动支付接口SDK2.0标准版(20150121)\DEMO\服务端demo\PHP-UTF-8\key\
7、将上面PHP-UTF-8重命名自己网站上想要的文件夹名字,整个文件夹上传;
8、编辑notify_url.php文件,把网站db文件包含进来,连接好数据库,将自己网站更新订单状态的业务逻辑程序写在:
if(trim($_POST['trade_status']) == 'TRADE_FINISHED')
{ 网站的业务逻辑程序 }
四、更改支付宝账号公钥
9、按如下图操作,添加支付宝账号公钥:
五、开始提交订单测试