您的位置:首页 > 其它

接入支付宝支付功能思路总结

2016-07-08 14:54 429 查看
前段时间项目中使用到了支付宝的支付功能,这几天偶然一测试,发现居然无法支付了!费了半天劲,总算把问题解决了,但是在解决问题的过程中,

花费了大量时间在回顾以前的代码和重新理解支付宝逻辑中,因此决定在此记录一下,以防下次再次忘记!

首先,如何申请支付宝用户以及开启支付功能就不细说了,基本上按照他的步骤就可以了。

支付宝为了保证交易的安全性,引入了RSA加密机制(什么是RSA加密机制就不在这说啦),反正就是利用openssl或者其他工具生成一对密钥(公钥

和私钥,用来验证签名用的),为了区分方便(因为支付宝的各种密钥实在太多啦!),这里称之为应用的公钥和私钥,生成的步骤在支付宝的demo

里面都有,这里也不赘述了,但有一点一定要注意,生成的私钥一定要是pcks8格式的!(官方demo将所有的支付操作都放在了客户端,

包括公钥和私钥,这种做法是极不安全的,这些都应该放在服务器端)

接着我们需要把生成的pcks8格式的私钥复制到应用的服务器端(具体的位置见支付宝demo),然后把生成的公钥填入支付宝开放平台密钥和合作伙

伴密钥的对应的应用公钥,如图:




然后,将还需要将支付宝公钥复制到服务器端,这里还有一点需要注意,这个支付宝公钥一定是合作伙伴公钥里的支付宝公钥,也就是说我们自己的服

务器端保存了应用私钥和支付宝公钥,密钥的设置就完成了!由此支付的准备工作已经完成了!

支付宝的支付逻辑如下图:



支付宝大致的逻辑就是这样,下面要做的无非就是调用支付宝,约定App服务器端和客户端的一些规则,根据支付逻辑定义几个接口就完事了~

其实这么一看,调用支付宝接口一点也不复杂,支付逻辑也比较好理解,坑就坑在那些个密钥上,而且文档上面说的也含糊其辞,根本不知道谁对应

谁,主要还需要自己多尝试,多失败几次无所谓,失败是成功之母嘛!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  支付宝 rsa pcks8 安全