[英]PayPal IPN Sandbox - Changing the Notification URL will not update
[英]What are possible causes for Paypal Sandbox IPN url not to be executed?
我正在尝试使用沙盒实现贝宝付款,但似乎无法理解为什么它无法调用/到达/执行我的IPN网址。
我一直在论坛上阅读一些尝试过的解决方案,但是似乎没有什么可以帮助我解决问题。
我得到了这个简单的表单代码:
<form action=" https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" name="form2" id="form2">
<input name="first_name" required="" size="40" type="text">
<input name="last_name" required="" size="40" type="text">
<input name="email" size="40" type="email">
<input name="item_name" size="40" type="text" value="Test Item">
<input name="amount" type="hidden" value="0.01">
<input name="cmd" type="hidden" value="_xclick">
<input name="business" type="hidden" value="test-seller8@test.co.uk">
<input name="notify_url" type="hidden" value="http://myurl.com/ipn.php">
<input name="return" type="hidden" value="http://myurl.com/result.php">
<input name="currency_code" type="hidden" value="GBP">
<input name="no_shipping" type="hidden" value="1">
<input type="submit" value="Pay now!">
</form>
我想我的表格还可以,我可以转到paypal付款并使用沙盒个人帐户类型进行付款,它会提供一个重定向到我的退货页面的链接,当我单击它时,它将转到正确的页面。
问题是我的IPN脚本未执行。 这是我的IPN中的代码。
if(strcmp($_REQUEST['payment_status'],'Completed') == 0)
{
$fd = fopen(dirname(__FILE__).'/results/payment-result.txt', 'wb');
//dump request to file
fwrite($fd, "### $_REQUEST = ### \n");
fwrite($fd, print_r($_REQUEST, true));
}
else
{
echo 'No direct access';
}
我试着删除if语句,以检查付款状态是否已完成,而不仅仅是检查脚本是否已执行,但是没有,它甚至不会创建.txt文件。 我还尝试通过直接访问它来检查我的IPN代码中是否有错误,但这似乎很好,它会创建文件并记录请求变量。
我也尝试使用IPN模拟器,但是每当我发送它时,它就会像永远加载一样,然后出现错误:
IPN Delivery Failed:I/O error: Connection timed out; nested exception is java.net.ConnectException: Connection timed out
这对我来说真的没有意义。
现在,我很困惑我错过了哪一部分,或者到底是什么导致了我的IPN正在被执行的问题。
您应该确保在PayPal设置中启用了IPN:
notify_url
参数替换 如果您已经完成此操作,则需要确保可以通过外界访问您的通知URL,请使用https://www.hidemyass.com/proxy之类的内容来检查您的网站是否确实可用。
检查您的PayPal帐户上的IPN历史记录 ,您将看到IPN发送到的确切URL和状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.