Php Paypal IPN,缺少POST数据

Php Paypal IPN,缺少POST数据,php,paypal,paypal-ipn,Php,Paypal,Paypal Ipn,我最近尝试在我的网站上实现Paypal的IPN。 以下是我采取的步骤(沙箱) 1:建立2个沙箱账户(买方/卖方) 2:在卖家帐户上启用IPN,并将URL设置为my PayPalIPN.php PayPalIPN.php是 3:创建一个按钮,购买后按钮转到success.php success.php是 现在,当我点击buy Now,登录我的沙盒买家帐户,购买它,然后按take me back to merchant,我得到这个错误 致命错误:未捕获的异常:第60行/home/site/publi

我最近尝试在我的网站上实现Paypal的IPN。 以下是我采取的步骤(沙箱)

1:建立2个沙箱账户(买方/卖方)

2:在卖家帐户上启用IPN,并将URL设置为my PayPalIPN.php

PayPalIPN.php是

3:创建一个按钮,购买后按钮转到success.php

success.php是

现在,当我点击buy Now,登录我的沙盒买家帐户,购买它,然后按take me back to merchant,我得到这个错误

致命错误:未捕获的异常:第60行/home/site/public_html/PayPalIPN.php:60堆栈跟踪:#0/home/site/public_html/success.php中缺少POST数据(7):PayPalIPN->verifyIPN()#1{main}抛出/home/site/public_html/PayPalIPN.php

这是引发异常的行

 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

它似乎仍然没有被呼叫。我真的很困惑我做错了什么

调用的.php似乎有错误。在我纠正错误后,它似乎被调用了。现在我只是想弄清楚如何正确地将自定义变量发送到IPN。。我一直从$\u POST中出错。

检查您的url是否正确

难道不是这样吗

 notify_url=https://www.website.com/paypalipn.php

 return_url=https://www.website.com/success.php
要检查是否收到POST变量,可以在success.php中使用以下命令在屏幕上打印它们

 print_r($_POST);
要添加自定义数据,如果您使用的是表单/按钮,则可以执行以下操作:

$custom_data = $myvar;
在PayPal表单中,添加如下内容:

<input type="hidden" name="custom" value="<?php echo $custom_data ;?>">