我最近尝试将Paypal的IPN实现到我的网站中。
以下是我所采取的步骤(沙盒):
1:创建两个沙盒账户(买家/卖家)
2:在卖家账户上启用IPN,并将URL设置为我的PayPalIPN.php PayPalIPN.php是https://github.com/paypal/ipn-code-samples/blob/master/php/PaypalIPN.php 3:创建一个按钮,该按钮在购买后转到success.php success.php是https://github.com/paypal/ipn-code-samples/blob/master/php/example_usage.php 现在当我点击“立即购买”,登录我的沙盒买家账户,购买并按下“返回商家”,我会收到这个错误。
致命错误:未捕获的异常:在/home/site/public_html/PayPalIPN.php的第60行缺少POST数据。堆栈跟踪:#0 /home/site/public_html/success.php(第7行):PaypalIPN->verifyIPN()#1 {main},抛出在/home/site/public_html/PayPalIPN.php的第60行。这是引发异常的行。
1:创建两个沙盒账户(买家/卖家)
2:在卖家账户上启用IPN,并将URL设置为我的PayPalIPN.php PayPalIPN.php是https://github.com/paypal/ipn-code-samples/blob/master/php/PaypalIPN.php 3:创建一个按钮,该按钮在购买后转到success.php success.php是https://github.com/paypal/ipn-code-samples/blob/master/php/example_usage.php 现在当我点击“立即购买”,登录我的沙盒买家账户,购买并按下“返回商家”,我会收到这个错误。
致命错误:未捕获的异常:在/home/site/public_html/PayPalIPN.php的第60行缺少POST数据。堆栈跟踪:#0 /home/site/public_html/success.php(第7行):PaypalIPN->verifyIPN()#1 {main},抛出在/home/site/public_html/PayPalIPN.php的第60行。这是引发异常的行。
if ( ! count($_POST)) {
throw new Exception("Missing POST Data");
}
我真的被这个问题难住了。我在这里只看到一个类似的问题,而Paypal的教程没有提到发生这个错误时出了什么问题。感激任何帮助。
更新
所以看起来我在错误的地方使用了一些URL。现在我有一个名为'paypalipn.php'的IPN类和另一个文件名为'success.php',它包括paypalipn.php并使用IPN类来检查它是否已验证。我已将监听器URL设置为success.php,当购买时,用户将被重定向到'purchased.php'。我遇到的问题是似乎从未调用success.php。它根本不起作用。我还尝试使用Buy Now按钮的变量设置URL。
notify_url=https://www.website.com/success.php
它似乎仍然没有被调用。我真的很困惑我做错了什么......