一、沙箱环境
1、逻辑
# 1 前端点击立即购买---》向咱们后端发送请求---》咱们后端生成一个支付链接(微信,支付宝支付)---》跳到不同的支付链接地址---》输入支付宝账号密码付款(手机扫码付款)----》付款成功---》支付宝收到了我们的付款---》
跳转回我们自己的项目---》支付宝会调用咱们后端的某个接口通知我们付款成功---》我们收到通知,就把订单状态改为已经支付 # 2 不同的付款 -微信支付:工商注册(营业执照),真正备案过的网址,没有测试环境 -支付宝支付:只支持, 工商注册(企业),沙箱环境(没有商户号的前提下测试)、、 # 3 营业执照---》申请商家账号:2088102176466324---》使用商家账号,申请应用---》应用名称+应用id号 -应用id号咱们付款需要 -公司不需要你来做 -最终:APPID 2016092000554611 # 4 使用支付宝sdk(第三方:官方的api封装的),生成支付链接 pip install python-alipay-sdk --upgrade # 生成公钥 私钥----》支付宝工具帮咱们生成:https://opendocs.alipay.com/common/02kipl # 我们的公钥---》配置到支付宝平台---》生成一个支付宝公钥 # 我们用支付宝公钥+我们私钥(开放平台密钥工具) 做加密和认证 # https://opendocs.alipay.com/open/270/105898?pathHash=b3b2b667
2、代码
from alipay import AliPay, DCAliPay, ISVAliPay from alipay.utils import AliPayConfig # 支付宝网页下载的证书不能直接被使用,需要加上头尾 # 你可以在此处找到例子: tests/certs/ali/ali_private_key.pem app_private_key_string = open("./pri").read() alipay_public_key_string = open("./aipay_pub").read() print(app_private_key_string) alipay = AliPay( appid="9021000130615836", app_notify_url=None, # 默认回调 url app_private_key_string=app_private_key_string, # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥, alipay_public_key_string=alipay_public_key_string, sign_type="RSA2", # RSA 或者 RSA2 debug=False, # 默认 False verbose=False, # 输出调试数据 config=AliPayConfig(timeout=15) # 可选,请求超时时间 ) order_string = alipay.api_alipay_trade_page_pay( out_trade_no="0x1212", total_amount=999, subject='性感内衣', return_url="https://example.com", notify_url="https://example.com/notify" # 可选,不填则使用默认 notify url ) # order_string = alipay.api_alipay_trade_wap_pay( # out_trade_no="20161112", # total_amount=0.01, # subject='性感内衣', # return_url="https://example.com", # notify_url="https://example.com/notify" # 可选,不填则使用默认 notify url # ) print('https://openapi-sandbox.dl.alipaydev.com/gateway.do?' + order_string)
3、链接
App 支付客户端 DEMO&SDK - 支付宝文档中心 (alipay.com)
支付宝支付 - 刘清政 - 博客园 (cnblogs.com)
alipay/alipay/__init__.py at master · fzlee/alipay (github.com)
二、封装进django项目
1、
2、
标签:alipay,支付宝,string,---,key,支付,com From: https://www.cnblogs.com/dgp-zjz/p/17785509.html