1、Django支付 2、Django微信支付介绍 3、Django支付宝支付实施 知识点讲解 Django支付 1、银行支付 2、微信支付 3、支付宝支付 4、其他的支付平台 支付可能有的工作任务 1、开启自己的收费接口 2、开发支付平台 支付核心 1、支付通常是通过api接口开发实现的。 2、支付通常需要签证,解签来保证我们的支付安全。 公钥 私钥 Django微信支付介绍 微信支付平台,对支付的要求,相当严格。 微信支付开通地址 https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2Findex.php 支付产品:
接入微信支付
我们现在放弃微信,但是微信的步骤和支付宝相识。 Django支付宝支付实施 1、开通开发者权限 https://open.alipay.com/platform/home.htm
2、进入沙箱环境
3、编写接口请求的代码
生成本机的公钥和私钥
https://docs.open.alipay.com/291/105971
支付宝严格要求公钥和私钥的格式,直接读入公钥和私钥会报格式错误 然后我们回到沙箱设置的页面,将公钥设置好
我们作为网站开发方,需要的步骤 1、接收订单 2、跳转请求支付宝,发起的支付请求 3、提供支付宝返回支付码的调用页面 4、等待确认收款的状态 同步 等待的途中不干其他的事情,进入阻塞状态 异步 等待的同时可以进行其他操作
我们着重研究一下支付宝支付接口。 支付宝支付接口有完整的文档和案例,但是没有python的案例,所以我们有两个选择 1、自己编写 2、调用三方的api 自此之前,我们看一下支付宝关于支付的接口要求 首先查看电脑网站支付的步骤案例 https://docs.open.alipay.com/270 然后查看api接口规范
https://docs.open.alipay.com/api_1/alipay.trade.pay
https://docs.open.alipay.com/api_1/alipay.trade.pay
https://docs.open.alipay.com/291/105974
https://docs.open.alipay.com/54/103419 使用官方的sdk
安装sdk的模块:
首先获取沙箱应用的应用id 然后获取沙箱应用的网官
自己编写sdk
from alipay import AliPay
alipay_public_key_string = '''-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsLDofX93PGVStfpI4/R3mX22p7EWct0b9TutpGrj/XnukV+ZtkBUez7t6IKa13nBOuMM1RMeUw06FHAX6xhoHK/Uf4HRZmV718M/JTodrsucEKe9OUNDcOPIjPooqLim2W6m7FW/XRLcZFK8yasEDNoCj7W6UPdwBnCvTCpPLOur+lNmgPTEGQRo+5qvcNEKYKJHeZEOzwGTUzyT+fT3LIISLgAK/vKjNg9m2mMlKuT47M1nNpOnaI4sp2SVzQ6Lx/STg301SOmxyvVFM2Uq4hksyIw1xdVa0rDH5vBU+C/M0AfYx8rOOkDB6TyechoDOqOPAXKZ22Zk/Ms/alJxAwIDAQAB
-----END PUBLIC KEY-----'''
app_private_key_string = '''-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAsLDofX93PGVStfpI4/R3mX22p7EWct0b9TutpGrj/XnukV+ZtkBUez7t6IKa13nBOuMM1RMeUw06FHAX6xhoHK/Uf4HRZmV718M/JTodrsucEKe9OUNDcOPIjPooqLim2W6m7FW/XRLcZFK8yasEDNoCj7W6UPdwBnCvTCpPLOur+lNmgPTEGQRo+5qvcNEKYKJHeZEOzwGTUzyT+fT3LIISLgAK/vKjNg9m2mMlKuT47M1nNpOnaI4sp2SVzQ6Lx/STg301SOmxyvVFM2Uq4hksyIw1xdVa0rDH5vBU+C/M0AfYx8rOOkDB6TyechoDOqOPAXKZ22Zk/Ms/alJxAwIDAQABAoIBACcDuSJU7fgpC11hWYz0IyCCUL2wbZuJVS4OMmZWr+b9cH8rE97ZT44zNAceJ6Ciotck4WV/JjgCeKugoLdpmTuUW6CYAqvQhsr6ssu+jGVXUiufTjoBrzeTJGp0pluzAiyKsVMIEAw2KPICDuuc1nUcAmrHHs/YAyV45kw0H210clEbKfhWTmHj0nIV08++gos7S4QmNJc0Gn/hEvOcwmU4aU8jx4cNxzrYAO22UcSIjFnuOnC7tS+VAPtCVnMr4dcaNKhJZPCkTdvTN8gLZSszFpx+i7yV2pGvUFhX945/iIUjJSgS/rM7zzywANM8VyFsh4GEcpkWOxlliU0KEUkCgYEA4zEHpdE1uSPk9Kd9NXUUmD8ytBSrwbCnTYIVcEx1CX6qqKgXks0UqmtmrxGo+UZ8OjKbMa0qqhxOJTrirddG4prB2E/7xZaS2I3HY36PL2xy7omYt7gBHeu0leUT7QuRuqVOCQYDxD9c0gCe10zu2BVDi699V73Gq2Gud0poR9cCgYEAxxiPC9O93MykrRBWei9+NJJyKbz/5Q404VE4696dIqmib/PjgR0g2tSdXVZaeYnmESOfH5DWaC3WMbMa1BEfp0iwP/7XBOpzCdmvqqGMz3PgM2QrVl8tblH2RLrc/dNoJluOw+aAGpZhnsVfW0gaw05+cSRsYmjCPGqcg0xYyrUCgYEAl9rkzru42ggY+EKfWUTpwB216VJLv4oxOYhyhf5E2FTXAyZfo1r6rjJdjzURqZSoYkoDG8AwXUXQIehrLWFQWxSv7sL/eYF8o8yYcnNch4lIhRJphpsx++rZaLuWhwINpSDquPNRPzJO+3s4sJYWq04DOPHSqPwLN/BxqgCNFT8CgYBotTbODo8k54+X4SbJ3d5vAbH+14JxUdZnxZK9IffcOgDPBiJZThtwWy9j3j14/Bg+XVCbhk3svmaO/tYWP+c40Fa5YWpuEGtt+8mSYKIwnI2GGaFdLHM1OO/e17PP3nZA7hgYWUp4MSyoFr9+v14r50VCddh2rQeyRJOJzgZInQKBgQCRw8QK5vxexmFVF70y9p37agvioyfeiu5SStOKPAh9+2XlfFymgZiSpl9WrSL/JQSVXJzn6WoU8yQuHK41ovjrBTuzbra/6b+kgGNi1Laqt3Xmq0im3Q9Sxf5nrHpPpQyuRu0eyQ2VIcb3r0zdxdHvu3ywTx7SaE8gW6XQGrE+xg==
-----END RSA PRIVATE KEY-----'''
#如果在Linux下,我们可以采用AliPay方法的app_private_key_path和alipay_public_key_path方法直接读取.emp文件来完成签证
#在windows下,默认生成的txt文件,会有两个问题
#1、格式不标准
#2、编码不正确 windows 默认编码是gbk
#实例化应用
alipay = AliPay(
appid="2016092300574326", #支付宝app的id
app_notify_url=None, #会掉视图
app_private_key_string = app_private_key_string, #私钥字符
alipay_public_key_string = alipay_public_key_string, #公钥字符
sign_type="RSA2", #加密方法
)
#发起支付
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no="3345416",
total_amount=str(0.01), # 将Decimal类型转换为字符串交给支付宝
subject="商贸商城",
return_url=None,
notify_url=None # 可选, 不填则使用默认notify url
)
# 让用户进行支付的支付宝页面网址
print("https://openapi.alipaydev.com/gateway.do?"+order_string)
本章总结 Django支付 Django微信支付介绍 Django支付宝支付实施