-安装模块 pip3 install pycryptodome 加密解密的模块 -支付宝支付流程: -1 拿到商户号,回调地址,支付宝公钥,我的私钥---生成一个对象(AliPay) -2 对象.direct_pay 传支付金额,支付商品描述,支付订单号---返回个加密的串(把前面参数加密了) -3 拿到加密的串拼到get请求参数部分pay_url = "https://openapi.alipaydev.com/gateway.do?{}".format(query_params) -4 重定向到该地址(向该地址发送get请求) 前后端分离 项目需要将还url直接传给前端,让前端自己实现页面的跳转。 -5 用户付款,付款成功支付宝会给我发送两个请求,一个是get请求,一个是post请求 -6 咱们的程序需要处理这两个回调请求(请求回来需要验证签名) -get请求一般用于页面展示 -post请求用于修改订单状态 ? -项目中需要配置:公钥私钥生成方式:https://docs.open.alipay.com/291/105971 ? -支付宝公钥:商户号中输入的应用公钥,会自动生成一个支付宝公钥,把它粘贴过来 ? -应用私钥(用户私钥) ? -支付宝回调返回数据中会有: ? -singn:必须验证签名,验证通过才能进行后续的修改 ? -订单id ? -根据订单id修改订单状态 -沙箱环境(测试环境) -https://openhome.alipay.com/platform/appDaily.htm?tab=info 加密方式: -对称加密:加密秘钥和解密秘钥用的是同一个 -非对称加密:加密和解密的秘钥不同,公钥可以随意分发,但是私钥一定不能泄露,发送者拿到公钥将数据加密后发给接收者,接收者将该数据经过私钥解密以后就可以拿到数据。 具体参考:<https://www.cnblogs.com/liuqingzheng/p/9760765.html> 可以生成当前项目所依赖的第三方模块 pipreqs ./ --encoding=utf8 pipreqs ./ --encoding=utf8
原文:https://www.cnblogs.com/changwenjun-666/p/11436748.html