Django 调用支付宝接口的沙箱环境的简单实现

一. 首先在自己的环境中进行模块的下载

pip install python-alipay-sdk --upgrade

二. 进入蚂蚁金服的开放平台,下载生成RSA 密钥的app

链接如下: 密钥生成

三. 将生成的公钥和私钥放到alipay_config的两个文件夹中

Django 调用支付宝接口的沙箱环境的简单实现_第1张图片
注意:这时候需要将自己的应用公钥交给支付宝,由支付宝生成支付宝公钥,然后再将生成的应用公钥放在自己公钥文件内。并且保存页面中的APPID支付宝网关, 用于后面的配置。
Django 调用支付宝接口的沙箱环境的简单实现_第2张图片

支付宝公钥生成地址: https://openhome.alipay.com/platform/appDaily.htm

在这里插入图片描述
注意 : 文件中必须以固定格式存储
-----BEGIN PUBLIC KEY-----为开头
-----END PUBLIC KEY-----为结尾

四. settings中配置公钥和私钥,并设置为一个常量

PUBLIC_KEY = open(os.path.join(BASE_DIR,'alipay_config/alipay_rsa_public_key.pem'),'r').read()
PRIVATE_KEY = open(os.path.join(BASE_DIR,'alipay_config/app_rsa_private_key.pem'),'r').read()

五. 打开GitHub

进入到fzlee大牛的一篇文章中 : 点我点我
继续复制初始化的代码到自己的settings中,

alipay = AliPay(
	appid="2016102400751239", # APPID
	app_notify_url=None,  # 默认回调url
	app_private_key_string = PRIVATE_KEY,
	# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
	# 支付宝的公钥是通过你自己的公钥验签之后生成的,
	alipay_public_key_string = PUBLIC_KEY,
	sign_type="RSA", # RSA 或者 RSA2
	debug=False  # 默认False
)

六.配置完成之后, 在路由函数中书写代码

注意:手机网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_string

注意这里的支付宝网关的是否发生更改:https://openapi.alipaydev.com/gateway.do

def pay(request):
    # 此时alipay 对象的创建放在了 settings 中
    subject = "身高168, 体重100斤, 肤色皙白, 活好"
    order_string = alipay.api_alipay_trade_wap_pay(
        out_trade_no="20161112",
        total_amount=0.01,
        subject=subject,
        return_url="https://example.com",
        notify_url="https://example.com/notify"  # 可选, 不填则使用默认notify url
    )
    # 这里alipay的网关可能会有变动
    return redirect('https://openapi.alipaydev.com/gateway.do?' + order_string)

你可能感兴趣的:(django,django,python)