https://pay.weixin.qq.com/static/applyment_guide/applyment_index.shtml
https://open.alipay.com/platform/home.htm
https://docs.open.alipay.com/
以卖家的身份进行收款,
支付宝已经写好的sdk,可以使用模块的方式使用,
使用需要安装
pip install pycryptodome ## 阿里sdk的依赖包
pip install python-alipay-sdk --upgrade
from alipay import AliPay
## 公钥
alipay_public_key_string = """-----BEGIN PUBLIC KEY-----
## 放公钥
-----END PUBLIC KEY-----"""
## 私钥
alipay_private_key_string="""-----BEGIN RSA PRIVATE KEY-----
## 放私钥
-----END RSA PRIVATE KEY-----"""
## 实例化支付对象
alipay = AliPay(
appid='2016101300673550',
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 = '10000000002', ## 订单号
total_amount = '100', ## 交易总金额
return_url=None, ## 请求支付,之后及时回调的一个接口
notify_url=None ## 通知地址,
)
## 发送支付请求
## 请求地址 支付网关 + 实例化订单
result = "https://openapi.alipaydev.com/gateway.do?"+order_string
print(result)
视图:
接收请求,处理,获取支付页面,并完成跳转支付页面
def AlipayViews(request):
order_id = request.GET.get("order_id") ## 订单id
payorder = PayOrder.objects.get(id=order_id)
## 实例化支付对象
alipay = AliPay(
appid='2016101300673550',
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
print(result)
return HttpResponseRedirect(result)
视图: 支付提交之后,跳转的我们的结果页面
def payresult(request):
return render(request,"buyer/payresult.html")
视图: 服务端,收到支付结果,然后修改订单状态
打印支付宝请求传的参数
修改订单状态
修改页面显示样式