php - Paypal IPN,缺少 POST 数据

标签 php paypal paypal-ipn

我最近尝试将 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

现在,当我点击“立即购买”,登录我的沙盒买家帐户,购买,然后按“带我回到商家”,我收到此错误

Fatal error: Uncaught Exception: Missing POST Data in /home/site/public_html/PayPalIPN.php:60 Stack trace: #0 /home/site/public_html/success.php(7): PaypalIPN->verifyIPN() #1 {main} thrown in /home/site/public_html/PayPalIPN.php on line 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。它根本不起作用..我也尝试使用

在“立即购买”按钮的变量中设置 URL
notify_url=https://www.website.com/success.php

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

最佳答案

似乎调用的 .php 文件中有错误。在我修复错误后,它似乎被调用了。现在我只是想弄清楚如何正确地将自定义变量发送到 IPN。我一直从 $_POST 中得到错误的东西。

关于php - Paypal IPN,缺少 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45908490/

相关文章:

security - 带有 Paypal 按钮的内容安全策略

php - Paypal IPN [仅信用卡交易失败]

PHP 如何在 PayPal 购物车中使用 IPN?

python - Django Paypal无效付款日期

php-node Node Express 找不到模块

php - 为什么 filename.php.jpg 可以作为 PHP 文件使用?

php - 如何控制使用 `imagettftext()` 生成的文本的文本对齐方式?

php - 如何在php中取消链接图像?

PayPal IPN 帮助(不是更新数据库)

Paypal - 如何将定期付款与用户或交易联系起来?