pip install python-alipay-sdk --upgrade
链接如下: 密钥生成
注意
:这时候需要将自己的应用公钥交给支付宝,由支付宝生成支付宝公钥,然后再将生成的应用公钥放在自己公钥文件内。并且保存页面中的APPID
和支付宝网关
, 用于后面的配置。
支付宝公钥生成地址: https://openhome.alipay.com/platform/appDaily.htm
注意
: 文件中必须以固定格式存储
以-----BEGIN PUBLIC KEY-----
为开头
以-----END PUBLIC KEY-----
为结尾
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()
进入到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)