PayPal IPN _notify-validate 在沙盒环境中抛出302错误

5
发送 cmd=_notify-validatewww.sandbox.paypal.com 后的第二个IPN响应返回了 HTTP Error 302
如果我将URL更改为 www.paypal.com,它会返回 INVALID 响应。 我不确定我做错了什么。
我应该使用 www.paypal.com 作为主机来验证沙箱中的IPN吗? 我认为不应该这样做?
我真的很难解决这个问题。 请帮忙!
2个回答

10

我遇到了同样的问题,看起来sandbox已经转换为使用ssl。我需要将我的代码更改为:

原始代码

变更后的代码:

更改后的代码
$fp = fsockopen ($paypalUrl, "80", $errno, $errstr, 30);
抱歉,我只能使用英文回答您的问题。如果您提供原始的英文文本,我可以帮助您翻译成中文。
$fp = fsockopen ('ssl://'.$paypalUrl, "443", $errno, $errstr, 30);

然后它就起作用了。我在http://www.jomres.net/jomres-forum/General-discussion/10590-PayPal-IPN----IP-Address-Expansion找到了这个解决方案。


感谢Periklis的提示,它完美地解决了问题。在生产环境中保持SSL协议是否可能? - user853485
我也在尝试寻找一个解决方案,可以在将服务器作为本地主机运行时使用。以前,人们只需要使用HTTP就可以了。难道现在他们已经删除了这个选项吗?现在必须始终使用SSL吗? - thomthom
你不需要在你的端使用ssl,只需使用ssl连接到PayPal。为了在本地主机上测试此功能,您需要为您的计算机拥有一个有效的域名(我曾经使用dyndns来实现这个目的,效果很好,但请记得设置您的adsl路由器将端口80映射到您的电脑,如果您正在使用这样的设置)。 - periklis

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接