【发布时间】:2018-02-05 02:28:27
【问题描述】:
我最近尝试在我的网站中实施 Paypal 的 IPN。 这是我采取的步骤(沙盒)
1:创建 2 个沙盒帐户(买方/卖方)
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} 在第 60 行的 /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。它根本不起作用..我还尝试使用
在“立即购买”按钮的变量中设置 URLnotify_url=https://www.website.com/success.php
它似乎仍然没有被调用。我真的很困惑我做错了什么......
【问题讨论】:
标签: php paypal paypal-ipn