我一直在尝试实现Paypal IPN侦听器,但它一直使我无效。我正在使用python pyramid框架和请求库。请帮忙。
PP_URL = "https://www.sandbox.paypal.com/cgi-bin/webscr"
parameters = {}
parameters = request.POST.copy()
parameters['cmd']='_notify-validate'
params = urlencode(parameters)
status = requests.post(PP_URL, params=params)
status = status.text
print status
谁能告诉我我在做什么错?
我也在使用https://developer.paypal.com/webapps/developer/applications/ipn_simulator
测试ipn监听器。
可能发生的情况是:
该行将完全按原样复制POST请求,该请求已被编码:
parameters = request.POST.copy()
然后调用此行,该行对已编码的行进行编码:
params = urlencode(parameters)
这导致双重编码,这将是有问题的。
您应该能够删除params = urlencode(parameters)行并且没问题。如果这不起作用,则对POST请求进行url解码,附加notify-validate,然后再次进行urlencode。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。