Paypal IPN 监听器问题

标签 paypal listener host paypal-ipn

我目前的 Paypal IPN 监听器有问题,并且每天都收到来自 paypal 的以下电子邮件:

“请检查处理 PayPal 即时付款通知 (IPN) 的服务器。发送到以下 URL 的 IPN 失败:

http://www.mysales.ie/create_promo_listener.php "

我有一个演示站点,它使用户能够创建广告并完美运行(IPN 没有问题),但是我正在开发的正确站点存在此问题(它在不同的主机上)。

我已经联系了主机提供商,他们说这不是他们的问题。我试过 php 错误日志,但找不到任何问题。我在两个站点上都有完全相同的代码,所以我不明白问题出在哪里。

<?php include 'ipn_handler.class.php';


/**
* Logs IPN messages to a file.
*/
class Logging_Ipn_Handler extends IPN_Handler
{
    public function process(array $post_data)
    {
            $data = parent::process($post_data);

            if($data === FALSE)
            {
                    header('HTTP/1.0 400 Bad Request', true, 400);
                    exit;
            }

           $random_number = $_POST['custom'];


            file_put_contents( 'logs/listenerTest.txt', "listener = " .              $random_number, FILE_APPEND);
            header("location:create_promo_creator.php?random_number=" .            $random_number);

    }
 }

date_default_timezone_set('Europe/Oslo');

$handler = new Logging_Ipn_Handler();
$handler->process($_POST);

我一直试图找到问题的根源很长一段时间,但无法弄清楚。

最佳答案

似乎你的 $data = parent::process($post_data); 方法返回 FALSE。

您的代码中是否有任何日志工具来验证这一点?

简单的解决方法是返回 200 响应以使 PayPal 的 IPN 系统正常运行,并记录错误以供进一步审查。

关于Paypal IPN 监听器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12958859/

相关文章:

swift - 为 Siri 创建监听器

javascript - 如何最好地对事件抽象进行单元测试?

mysql - 如何解决CentOS中的 "Failed to connect to MySQL Host"错误

html - Paypal 按钮格式不正确

cakephp - 如何在 cake php 中的外部 url 发布表单?

javascript - Paypal 交易后重定向至页面

java - TabListener 在 Android 应用程序中不起作用

javascript - AJAX 监听器而不是轮询?

java - InetAddress.getLocalHost().getHostAddress();涉及 DNS 服务器?

paypal - 在 Paypal 快速结账 NVP 中传递自定义参数