0
点赞
收藏
分享

微信扫一扫

【django轻量级框架】使用支付宝支付接口(沙箱)

后来的六六 2022-02-24 阅读 74



文章目录


  • ​​1 流程​​
  • ​​2 支付宝沙箱​​


1 流程

需要导入模块:pip install alipay-sdk-python ;pip install pycrypto

必备条件,公钥密钥

setting配置

# 支付宝沙箱
# ALIPAY_APPID = "xxxxxxx"
# ALIPAY_URL = "https://openapi.alipaydev.com/gateway.do"
# 支付宝配置参数
ALIPAY_APPID = "xxxxx"
ALIPAY_URL = "https://openapi.alipay.com/gateway.do"

生成订单:

order.o_id = '%s%s' % (datetime.now().strftime('%Y%m%d%H%M%S'), order.user.id)

根据订单号

VIEWs.py

alipay = AliPay(
appid=settings.ALIPAY_APPID,
app_notify_url="http://xxx/vuser/check_pay/", # 默认回调url
app_private_key_path=os.path.join(settings.BASE_DIR, "apps/user_vip/app_private_key.pem"),
alipay_public_key_path=os.path.join(settings.BASE_DIR, "apps/user_vip/alipay_public_key.pem"),
# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
sign_type="RSA2", # RSA 或者 RSA2
debug=False, # 默认False 配合沙箱模式使用
)

# 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_string
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no=order_id,
# total_amount=0.05,
total_amount=str(order.o_total_price), # 将Decimal类型转换为字符串交给支付宝
subject="优-%s"%tishi,
return_url="http://www.xxx.com/index?user=%s&token=%s&bind=1"%(username, token),
# return_url=None,
notify_url=None, # 可选, 不填则使用默认notify url
)

# 让用户进行支付的支付宝页面网址
url = settings.ALIPAY_URL + "?" + order_string

return HttpResponseRedirect(url)

2 支付宝沙箱

【django轻量级框架】使用支付宝支付接口(沙箱)_类型转换

【django轻量级框架】使用支付宝支付接口(沙箱)_支付宝_02



举报

相关推荐

0 条评论