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

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

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


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


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

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

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

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


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

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



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

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

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


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


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

谁,主要还需要自己多尝试,多失败几次无所谓,失败是成功之母嘛!





  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值