我想测试一个servlet我写了一个处理IPN payapal通知(我的servlet非常类似于这样的例如) - 东西甚至使测试帐户中的所有设置,我现在用的IPN通知后不点火在所有。

我然后发现,显然是在沙箱中测试IPN的唯一途径是通过IPN模拟器。我想使用它,但我得到:

<强> IPN递送失败。 HTTP错误代码405:不允许的方法

有没有人有丝毫的线索?

此外,我正在寻求的在一个简单的方式测试IPN处理程序,因为IPN模拟器那种很烂ANY 的意见(任你挑选项它重置所有字段等等)。

任何帮助理解!

有帮助吗?

解决方案

我会检查,以确保您的Web服务器允许您IPN处理程序URL POST请求。在这个例子中,我用你的链接页面上的例子的PHP版本,并放置脚本在/ipn.php

我然后telnet到我的服务器。 (与服务器地址替换)

$ telnet myserver.com 80
Trying myserver.com...
Connected to myserver.com.
Escape character is '^]'.

以下内容粘贴到您的telnet会话。 (替换ipn.php和myserver.com)。最后的命令之后添加一个空行。

POST /ipn.php HTTP/1.1
Host: myserver.com
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
HTTP/1.1 200 OK

如果您没有看到一个200种状态,这意味着你的应用程序不处理POST请求正确,这是405错误的可能原因。

您应该确保你在你的servlet实现doPost()方法,以及一个的doGet()。

如果你能得到从IPN模拟器工作的要求,并准备转移到沙盒测试,确保你有正确的通知URL和IPN的沙箱卖方的配置文件下启用。

此外,请确保您IPN处理程序是登录无效的请求,以及,让你知道,如果该请求甚至开始。

最后,请确保IPN验证URL设置在你的servlet https://www.sandbox.paypal.com/cgi-bin/webscr。 (在您发布的示例的URL是https://www.paypal.com/cgi-bin/webscr

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top