fzlee/alipay

return_url验证的问题

bbsddn2020 opened this issue · 6 comments

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()

fzlee commented

我写在例子里面的验证方式,是针对notify_url的。
也就是支付宝主动POST 数据给你的服务器

而你这边的代码是想要验证return_url,

fzlee commented

https://opensupport.alipay.com/support/knowledge/20070/201602294023?ant_source=zsearch

这里有相关文档

建议收到同步回调之后,主动调用一次支付宝接口查询订单状态