随着智能手机进入白热化日期,人们在移动客户端支付次数也发生了质的飞跃,一款有在线交易的APP,怎么能少了支付宝,下面就支付宝(本文针对支付宝移动支付)的一些详细步骤和注意事项,南阳网站建设服务商誉诚网络做了以下整理,相信看完本文后,你也能迅速集成属于自己的APP支付宝在线支付功能。
一、支付宝私钥和公钥基本参数配置:
1、进入支付宝官方网站申请开通移动支付功能,猛戳这里:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993
2、提交相关申请资料后等待审核,审核通过后下载对应的集成包,猛戳这里:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash
3、解压集成包,找到【支付宝钱包支付接口开发包2.0标准版 / DEMO /】 ,把demo文件夹下面的openssl文件夹所有内容复制至C盘根目录
4、生成商户RAS私钥、生成商户RSA公钥、商户私钥(PKCS8格式)
打开windows的cmd命令面板
(1)、生成商户RAS私钥
a、进入openssl/bin目录
b、生成RAS私钥(输入命令:openssl.exe genrsa -out rsa_private_key.pem 1024)(请看下图),随后bin文件夹下会多出 rsa_private_key.pem 文件,这就是商户私钥
c、生成RAS公钥(输入命令:openssl.exe rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem)(请看下图),随后bin文件夹下会多出 rsa_public_key.pem 文件,这就是商户公钥
d、把商户私钥转为PKCS8格式(输入命令:openssl.exe pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt)(请看下图),会看到以下界面,这就是PKCS8格式的商户私钥,把里面的文件复制出来存到记事本
5、进入支付宝商家服务中心(http://b.alipay.com),点击【我的商家服务】菜单、点击【查询PID、KEY】
输入支付密码后会看到下图:
点击【RAS加密:添加密钥】,把刚才生成的 rsa_public_key.pem 用记事本打开,去除文本里面的回车、-----BEGIN PUBLIC KEY-----、-----END PUBLIC KEY-----,把剩余的文本粘贴至下图的位置,点提交即可
以上就是支付宝移动公钥和私钥的配置,下面来主要讲解一下服务器端配置(以PHP为例)
二、服务器端参数配置:
1、配置商户私钥
用记事本打开key文件夹下rsa_private_key.pem,把步骤一生成的PKCS8格式公钥粘贴进去(首尾格式不要变动,只需要把key值粘贴至第二行即可)
2、配置商户公钥
用记事本把步骤一生成的商户公钥(rsa_public_key.pem)中的值(去掉回车和空格【即第二行完整代码】,头尾begin、end都不要),粘贴到里面,保存为以【商家ID】命名的*.dat(如:2088123412341234.dat)文档至key文件夹下面
3、配置支付宝公钥
即key文件夹下面的alipay_public_key.pem文件,官方文件不要改动,即使里面有回车和空格也不要改动(经测试发现:如果按官方文档说明操作,即把此文件里面的回车和空格去掉,回调验证失败,不做改动的情况反而验证成功)
4、配置支付宝配置文件
打开alipay.config.php,配置对应的商户ID、商户私钥和支付宝公钥
5、按照支付宝官方提供的方法配置服务器环境(开启Curl)
至此,支付宝端、服务器端参数都配置完毕,APP里面按自己的需要调用notifyURL地址即可实现在线付款
注意:
1、APP客户端配置的商户私钥是转PKCS8编码后的值,不是原始的私钥值,一定要注意啊!坑死人了这个
2、发送支付请求出现:【系统繁忙,请稍后再试!(ALI59)】,是因为支付请求的金额数为0
3、notifyURL需要配置为服务器商支付宝的回调页面,(即APP发送请求给支付宝,支付宝收到指定后把返回的信息回传至此处指定的回调页面,回调页面再根据回参进行自己需要的数据处理)