支付宝扫码支付开发备忘

1、首先当然得注册有支付宝账号,最好是企业支付宝账号


2、进入支付宝开放平台的开发者中心:https://openhome.alipay.com/platform/developerIndex.htm

申请应用


3、申请应用之后,设置好应用图标、需要添加的功能为当面付和第三方应用授权,这个后续需要签约,否则调用接口会提示权限不够


4、设置应用网关 也就是支付成功之后的后台通知地址


5、设置应用公钥,这个非常重要,选择RSA2(SHA256)密钥(推荐),下载支付宝提供的RSA签名验签工具:https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=105971&docType=1,生成2048位的公钥和私钥,其中公钥填写到开放平台后台,私钥自己保存,用于接口请求的时候生成签名,其中支付宝公钥自动生成,直接拷贝下来即可,这个用于后台接收支付宝通知的签名校验,

搞清楚这些秘钥的用途对于接下来的开发非常重要。


6、下载支付宝sdk开发包:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.8xZeBn&treeId=193&articleId=103419&docType=1 

例如:php sdk,在AopClient.php里面设置好应用私钥字符串和支付宝公钥字符串


7、重点说一下支付成功之后的后台通知处理:

1.在通知返回参数列表中,除去sign、sign_type两个参数外,凡是通知返回回来的参数皆是待验签的参数,都需要加入校验签名的生成。

2.将除去sign、sign_type两个参数外的其他参数进行url_decode, 然后进行字典排序,组成字符串,得到待签名字符串,例如:a=123&b=ccc

3.将签名参数(sign)使用base64解码为字节码串。

4.使用RSA的验签方法,通过签名字符串、签名参数(经过base64解码)及支付宝公钥验证签名,根据返回结果判定是否验签通过。

如果是php skd 就直接把$_POST 传入AopClient.php里面的函数 rsaCheckV1 即可验证签名是否正确