return_url验证的问题
bbsddn2020 opened this issue · 6 comments
bbsddn2020 commented
Describe the bug
A clear and concise description of what the bug is.
return_url验证 print("交易成功")无法打印
Environment
OS version:
Python version: python3, django3
Alipay version: 沙箱环境
To reproduce
Code snippets:
data = request.GET.dict()
print(data)
signature = data.pop('sign')
print("***123123123***")
print(signature)
alipay = Alipay()
# verification
success = alipay.verify(data, signature)
if success and data["trade_status"] in ("TRADE_SUCCESS", "TRADE_FINISHED"):
print("交易成功")
return HttpResponse("跳转页面")
**Expected behavior **
data["trade_status"] in ("TRADE_SUCCESS", "TRADE_FINISHED") 这个有问题吗?
fzlee commented
print(data) 看看是什么内容.
如果仅仅是django, 没有用到rest_framework. 我感觉你应该用request.dict()
bbsddn2020 commented
好的,收到,谢谢!
…------------------ 原始邮件 ------------------
发件人: "fzlee"<notifications@github.com>;
发送时间: 2020年5月21日(星期四) 下午3:13
收件人: "fzlee/alipay"<alipay@noreply.github.com>;
抄送: "bbsddn2020"<liulin160@hotmail.com>; "Author"<author@noreply.github.com>;
主题: Re: [fzlee/alipay] return_url验证的问题 (#105)
print(data) 看看是什么内容.
如果仅仅是django, 没有用到rest_framework. 我感觉你应该用request.dict()
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
bbsddn2020 commented
打印的data文件如下:
{'charset': 'utf-8', 'out_trade_no': '20200522005910', 'method': 'alipay.trade.page.pay.return', 'total_amount': '39.00', 'trade_no': '2020052222001448880502900213', 'auth_app_id': '2016102200737512', 'version': '1.0', 'app_id': '20
16102200737512', 'sign_type': 'RSA2', 'seller_id': '2088102180621782', 'timestamp': '2020-05-22 01:01:08'}
没有trade_status,为什么呢?
# if success and data["trade_status"] in ("TRADE_SUCCESS", "TRADE_FINISHED")
改 if success: ?
…------------------ 原始邮件 ------------------
发件人: "fzlee"<notifications@github.com>;
发送时间: 2020年5月21日(星期四) 下午3:13
收件人: "fzlee/alipay"<alipay@noreply.github.com>;
抄送: "bbsddn2020"<liulin160@hotmail.com>;"Author"<author@noreply.github.com>;
主题: Re: [fzlee/alipay] return_url验证的问题 (#105)
print(data) 看看是什么内容.
如果仅仅是django, 没有用到rest_framework. 我感觉你应该用request.dict()
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
fzlee commented
我写在例子里面的验证方式,是针对notify_url的。
也就是支付宝主动POST 数据给你的服务器
而你这边的代码是想要验证return_url,
fzlee commented
https://opensupport.alipay.com/support/knowledge/20070/201602294023?ant_source=zsearch
这里有相关文档
建议收到同步回调之后,主动调用一次支付宝接口查询订单状态
bbsddn2020 commented
除了回调缺少data["trade_status"],其他的都成功调试完毕,谢了!
…------------------ 原始邮件 ------------------
发件人: "fzlee"<notifications@github.com>;
发送时间: 2020年5月22日(星期五) 凌晨1:52
收件人: "fzlee/alipay"<alipay@noreply.github.com>;
抄送: "bbsddn2020"<liulin160@hotmail.com>; "Author"<author@noreply.github.com>;
主题: Re: [fzlee/alipay] return_url验证的问题 (#105)
https://opensupport.alipay.com/support/knowledge/20070/201602294023?ant_source=zsearch
这里有相关文档
建议收到同步回调之后,主动调用一次支付宝接口查询订单状态
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.