2012-10-18 78 views
1

我现在有一个问题,我的贝宝IPN监听器,每天已经收到来自PayPal以下电子邮件:贝宝IPN监听器的问题

“请检查您的服务器处理贝宝即时付款通知(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); 

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

回答

0

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

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

简单的解决方法是返回200响应以保持PayPal的IPN系统快乐,并记录错误以供进一步审核。