社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
https://open.alipay.com/platform/home.htm
支付宝接口文档地址: https://docs.open.alipay.com/
(1)下载秘钥工具
(2)打开秘钥工具
(3)生成秘钥
(4)查看秘钥位置
(5)配置公钥私钥
安装依赖包
pip install pycryptodome ## 阿里sdk的依赖包
pip install python-alipay-sdk --upgrade
①安装好依赖包后,然后以卖家身份进行收款
②使用python完成支付,开始写一个测试的demo
from alipay import AliPay
# 公钥
alipay_public_key_string = '''-----BEGIN PUBLIC KEY-----
公钥
-----END PUBLIC KEY-----'''
# 私钥
alipay_private_key_string='''-----BEGIN PRIVATE KEY-----
私钥
-----END PRIVATE KEY-----'''
# 实例化支付对象
alipay = AliPay(
appid='2016101300673951',
app_notify_url=None,
app_private_key_string=alipay_private_key_string,
alipay_public_key_string=alipay_public_key_string,
sign_type="RSA2",
)
# 实例化订单
order_string = alipay.api_alipay_trade_page_pay(
subject = '牛羊生鲜', # 交易主题
out_trade_no = '10000000009', # 订单号
total_amount='400000', # 交易总金额
return_url=None, # 请求支付之后及时回调的一个接口
notify_url=None # 通知地址
)
# 发送支付请求
# 请求地址:支付网关+实例化订单
result = 'https://openapi.alipaydev.com/gateway.do?'+order_string
print(result)
注意:公钥私钥是刚才下载的应用中的,直接复制即可
①将代码中的公钥私钥存入到settings文件中
# 公钥
alipay_public_key_string = '''-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk7pgNH3Osn0X4tvasldV0lWNzY3QkZpuOjTRPOPXWBB5yXP6/pWNsaWRCp+EZm9wGCXkckFF2RwVh8IBt0tICB8FziioLhSo1dC/MQkJP/73vBxNxNMw+AqMUSEfOTHEXGULMACeTMPugvXWmmr74OD6PZL28TVw1pjqoi8f56mzCFJLUkTwaqt6qXxiQxPm15tEJwzYLT7HCjBu1HQAmk8Yd2G1raapcN9SmSx7BdK0Cjb/YIfil0+nmZwX5+1p/kD3cH7SfO45GjV5INFfD/oiF5EykRjqJS8xYV93T3uKx97shvlZWUjjEQT2BSg9RgQwk7tz64DeOwvBjYrMwQIDAQAB
-----END PUBLIC KEY-----'''
# 私钥
alipay_private_key_string = '''-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAk7pgNH3Osn0X4tvasldV0lWNzY3QkZpuOjTRPOPXWBB5yXP6/pWNsaWRCp+EZm9wGCXkckFF2RwVh8IBt0tICB8FziioLhSo1dC/MQkJP/73vBxNxNMw+AqMUSEfOTHEXGULMACeTMPugvXWmmr74OD6PZL28TVw1pjqoi8f56mzCFJLUkTwaqt6qXxiQxPm15tEJwzYLT7HCjBu1HQAmk8Yd2G1raapcN9SmSx7BdK0Cjb/YIfil0+nmZwX5+1p/kD3cH7SfO45GjV5INFfD/oiF5EykRjqJS8xYV93T3uKx97shvlZWUjjEQT2BSg9RgQwk7tz64DeOwvBjYrMwQIDAQABAoIBAFR7+hkK+fLJ56ct5NypZcNsejRcLjOXBgLzwdX412bdxUiYs6p1DRvTfCd/ItESWiD1Sris661GimmhYinZO9CpLUDBr6zq08O0JiN873VR84v5A+DUhuTT43tiXeDvvUS55LQHJoDwbK8ouRqGpJXvFC2yptc7oNSZj1ZBbRWm8PT1QfLWHla2IcnImYzt1fK9TKRmmxGHNtbNA3o+C3WULT8ucO9zWfERI8UZzI/jbpEHXKrAtBOlhWcSuvUUfXs26bNm3yAmcqh1yzRDAfPBaYVANJoeJ61GgrP4IztZm8f5vr2HfE39dO+8m88yhIe/8c7xeJrLWgt6/4f/P6ECgYEAw0ZOWdI6+OvoSyiD8SwgL5kG6ygMqC4/MyP1XRR1HGp1ho3KR69ZqKO4SyEb3Z93crGGyyBJnNnQpMd9jDjaRgaq9HTnej1dB6kLCV8m9RZcE7Ho7FQ3icyLCghg9w/scu/XIIHSjrkUAmM+P0A5A3kdp4vosKD9OMU7oHSZTYcCgYEAwarp8OYAV3gQxkNRRIStpP1saIDBIjmrNQ21/9UTx81+9BUB0VkIXNgBWPP0vF7e2EsKtTFYBFus2VDVlYVU6ZxpjcJEb1Bp4tGpSpXoxfJhseWCSQI67FEc6emdBjUyztSo1kxA5ejed8jQTopCh7R/2fayotvkDqeqybQi5XcCgYEAqAp/cEI+p2jzLIJAELFlPTCVyJVdVvj9P/gItMHfCcX/PvwTf17BbCL/e/+Q6EXLV7K3iWNOlaDHMJXPT3S5ORuRz+4uKH5X6TiqG7V7Y9uK/xPRmlXauUWAvPB66QEV+86zNPEjDdjtBCT9MxcEOR3ny//VDPJtFoZ8CldseU8CgYBCi67c5rshUxE4fvMSvyBHfAjfE7bJQtWQYkiyQo4MbpD736gDPjuAY3x7C0CB5XtfCNICFpVu0e1fssXhHbJinysp2aHYOeJYXMB173LPaYymKv2MhqamguyTd4FMG8V8ilgFYqg+F7kxoZ/qDNn1dVElHP6etT30xyoJKst+2wKBgA9W94gDzZB9lTswWUPmQN+0EEpq9w3LO2PZBVzZCGV+dgp2dsL2VXjWZu5CzGDexbH46us69tFiT4rpcMLoiu1pK9Msap8AWD1OFKyenqSutaQ0ycDfYaP2+SlJcxMsPrheLFJTsT9Qu0ENj9lOUzrnZXSlsiaUODmzR79JqM0T
-----END RSA PRIVATE KEY-----
'''
②视图文件
# --------------------------------------支付宝支付
from alipay import AliPay
from Qshop.settings import *
def alipayViews(request):
order_id = request.GET.get('order_id')
payorder = PayOrder.objects.get(id=order_id)
# 实例化支付对象,可以alt+Alipay进入复制init的源码
alipay = AliPay(
appid='2016101300673936', # 在沙箱应用处显示
app_notify_url=None,
app_private_key_string=alipay_private_key_string,
alipay_public_key_string=alipay_public_key_string,
sign_type="RSA2",
)
# 实例化订单
order_string = alipay.api_alipay_trade_page_pay(
subject='天天生鲜', # 交易主题
out_trade_no=payorder.order_number, # 订单号
total_amount=str(payorder.order_total), # 交易总金额
return_url='http://127.0.0.1:8000/buyer/payresult/', # 请求支付,只会及时回调的一个接口
notify_url='http://127.0.0.1:8000/buyer/payresult/', # 通知地址
)
# 发送支付请求
# 请求地址 支付网关+实例化订单
result = 'https://openapi.alipaydev.com/gateway.do?' + order_string
return HttpResponseRedirect(result)
③配置html和url
{% extends 'buyer/base.html' %}
{% block title %}
支付结果
{% endblock %}
{% block content %}
<div class="list_model">
<h1>支付结果</h1>
<table>
{% for key,value in request.GET.items %}
<tr>
<th>{{ key }}:</th>
<td>{{ value }}</td>
</tr>
{% endfor %}
</table>
</div>
{% endblock %}
https://pay.weixin.qq.com/static/applyment_guide/applyment_index.shtml
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!