# 支付宝结算
使用支付宝官方文档
```python
---定义视图---
url()
---编写视图---
class AlipayStatusView(View):
def get(self, request):
# dict()--->将数据转为字典
data = request.GET.dict()
'''
{
'version':
'method':
'app_id':
'total_amount': 总金额
'sign_type':
'trade_no': 流水号
'sign':
'out_trade_no': 订单编号
'timestamp':
'auth_app_id':
'charset':
'seller_id':
}
'''
signature = data.pop('signature')
# 建对象
alipay = AliPay(
appid=,
app_notify_url=,
app_private_key_path=,
alipay_public_key_path=,
sign_type=,
debug=,
)
success = alipay.verify(data, signature)
# 验证, 修改订单状态
if not success:
return ResponseBadRequest({...})
order_id = data.get('out_trade_no')
trade_id = data.get('trade_no')
# 保存Payment模型类数据
Payment.objects.create(
order_id=order_id,
trade_id=trade_id
)
# 修改订单状态值
OrderInfo.objects.filter(pk=order_id).update(status='')
context = {
'trade_no': data.get('trade_no')
}
return JsonResponse({...})
```
|
|