PayPal IPN _notify-validate 在沙盒中引发错误 302
Posted
技术标签:
【中文标题】PayPal IPN _notify-validate 在沙盒中引发错误 302【英文标题】:PayPal IPN _notify-validate throws Error 302 in Sandbox 【发布时间】:2011-12-24 04:55:27 【问题描述】:发送 cmd=_notify-validate 到 www.sandbox.paypal.com 后的第二个 IPN 响应返回 HTTP 错误 302。
如果我将 URL 更改为 www.paypal.com,它会返回 INVALID 响应。我不确定我错在哪里。
我应该使用 www.paypal.com 作为主机在沙盒中验证 IPN 吗?我不这么认为?
我真的很难得到这个排序。有什么帮助吗?
【问题讨论】:
【参考方案1】:我遇到了同样的问题,沙盒似乎已切换到 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 协议用于生产? 我也在尝试找到一个解决方案,当我将服务器作为 localhost 运行时可以使用。以前只能使用 HTTP。我是否理解他们现在已删除此选项?必须始终使用 SSL? 您不必使用 ssl,您只需使用 ssl 连接到 paypal。为了将其作为 localhost 进行测试,您需要为您的机器提供一个有效的域名(我曾经为此使用 dyndns,效果很好,但请记住设置您的 adsl 路由器以将端口 80 映射到您的电脑,如果您正在使用这样的设置)【参考方案2】:这不是HTTP错误,这是访问https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_notify-validate的HTTP响应码
您应该查看页面的内容,而不是 HTTP 响应代码。
【讨论】:
以上是关于PayPal IPN _notify-validate 在沙盒中引发错误 302的主要内容,如果未能解决你的问题,请参考以下文章