首先介绍一下支付的访问流程,用户在网页提交订单,发出请求给django服务器,django服务器获取请求,校验参数,将支付包需要的参数进行私钥加密传递,支付宝获取参数后通过在支付宝开发平台添加的对应应用的公钥对参数进行解密,再将参数通过支付宝私钥进行加密传递会django服务器,django服务器再通过支付宝提供的公钥对传递的参数进行解密,然后将用户浏览的页面重定向到支付宝的支付页面,完成支付后再回调到自己应用的页面。
流程图分析
具体实现步骤:
支付宝支付
支付宝开放平台登录
使用已有的支付宝账号即可
https://open.alipay.com/platform/home.htm
关于沙箱环境(开发模拟环境)
登录后,在页面顶部可以选择进入沙箱环境设置页面
生成应用的密钥(公钥和私钥),并将应用的公钥填写在配置中,填写后保存获得支付宝对应的公钥
生成密钥的方法,支付宝提供了一个自动的生成器,下载和操作在https://alipay.open.taobao.com/docs/doc.htm?treeId=291&articleId=105971&docType=1
这里选择生成加密的格式和长度,我们是python所以选非JAVA适用,长度选2048安全性更高,点击打开密钥文件路径可找到密钥文件
复制公钥到沙箱页面的RSA2密钥位置进行配置,然后将生成支付宝公钥进行保存,应用私钥和支付宝公钥在之后的代码操作中会用到。