我的代码如下:
@login_required(login_url='/accounts/login/')
@csrf_exempt
def apliy_check_pay(request):
alipay=AliPay(
appid=ALIPAY_APPID,
app_notify_url=set_url,
app_private_key_path=os.path.join(settings.BASE_DIR, "app/app_private_key.pem"),
alipay_public_key_path=os.path.join(settings.BASE_DIR, "app/alipay_public_key.pem"),
sign_type="RSA2",
debug=True,
)
if request.method == 'POST':
mydata=request.POST.dict()
signature = mydata.pop("sign")
success=alipay.verify(mydata,signature)
if success:
order_sn=mydata['out_trade_no']
trade_no=mydata['trade_no']
myfunding=Funding.objects.filter(number=order_sn)
existed_orders=myfunding.update(
fudingpaid=True,
number=str(order_sn),
trade_no=str(trade_no),
)
return HttpResponse('支付成功')
if request.method == 'GET':
params=request.GET.dict()
#test=request.GET.get('trade_status')
sign=params.pop('sign',None)
print(sign)
status=alipay.verify(params,sign)
if status:
order_sn=params['out_trade_no']
trade_no=params['trade_no']
myfunding=Funding.objects.filter(number=order_sn)
existed_orders=myfunding.update(
fudingpaid=True,
number=str(order_sn),
trade_no=str(trade_no),
)
return HttpResponse('支付成功')
return HttpResponse('支付失败')
else:
return HttpResponseRedirect(reverse('accounts:payment_funding'))
GET 是可以 GET 到的,是 POST 哪里写错了么?
使用的 github 上该封装 https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.