【问题标题】:IPN transactions all INVALIDIPN 交易全部无效
【发布时间】:2014-06-22 01:39:17
【问题描述】:

我们已经使用 PayPal IPN (ssl) 设置系统大约十年了。

昨晚,我们所有的交易都开始以无效的形式返回。

我们没有改变任何东西。我查找了有关其他人遇到此问题的帖子,但不幸的是,我没有找到任何帖子。

所以我在这里发帖询问其他人是否开始遇到这种情况,如果没有,我们的系统在没有任何更改的情况下从正常变为无法工作的原因可能是什么?我知道这是一个抽象的问题;在这一点上,这是一个相当抽象的问题。 ;-)

谢谢!

PHP 连接的基础...

   $req = 'cmd=_notify-validate';
   for ($var = 0; $var < count ($postvars); $var++) {
   $postvar_key = $postvars[$var];
   $postvar_value = $$postvars[$var];
   $req .= "&" . $postvar_key . "=" . urlencode ($postvar_value);
      }

   // post back to PayPal system to validate
   $header .= "POST /cgi-bin/webscr HTTP/1.1\r\n";
   $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
   $header .= "Host: www.paypal.com\r\n";
   $header .= "Connection: close\r\n";
   $header .= "Content-Length: " . strlen ($req) . "\r\n\r\n";

   $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

【问题讨论】:

    标签: paypal paypal-ipn


    【解决方案1】:

    我在沙盒环境中遇到了类似的问题,根本没有收到 IPN 消息。我在这里检查了定期维护https://www.paypal-notify.com/eventnotification/search?eventSearchType=PayPalSiteStatus

    但我没有找到与 IPN 通知相关的内容。

    您是否检查过 ipn 历史记录显示的内容? (https://ppmts.custhelp.com/app/answers/detail/a_id/1046) 在我的情况下,即使通知 url 正在工作并且可以从外部访问,也没有 http 响应代码。

    即使没有正在进行的维护,这也不是我第一次遇到 paypal 问题。建议你开故障单加快解决

    【讨论】:

      【解决方案2】:

      检查您的端点以确保您仍然发送到生产 URL (https://www.paypal.com/cgi-bin/webscr?cmd=_notify-validate) 而不是测试 URL。如果检查成功,您需要进一步调查以确定哪些更改会损坏您的邮件。

      【讨论】:

      • 认为我们正朝着正确的方向前进。我刚刚编辑了我的帖子以添加 PHP 连接 sn-p。当一些有效的东西停止工作并且你没有触摸它时,这只是令人困惑的东西。 ;-)
      • Err... 真的没有人有这个问题吗?我们刚收到一个无效的订单,当我检查电子邮件的订单收件箱时,它还没有。他们总是很容易出现。订单有效,通过 PayPal.com 确认。但似乎有一个延迟会减慢电子邮件速度并导致 IPN 中断。
      【解决方案3】:

      我也遇到了同样的问题,并且认为您的网络主机(在我的情况下为 HostGator)关闭了对 $HTTP_POST_VARS(已弃用)的支持,因此您现在必须使用 $_POST

      你没有说你从哪里填充 $postvars,但是,如果你像我一样使用 PayPal 的示例 IPN 脚本,你会得到它:

      while (list($key, $value) = each($HTTP_POST_VARS)) {
          $postvars[] = $key;
      }
      

      并且需要改为$_POST:

      while (list($key, $value) = each($_POST)) {
          $postvars[] = $key;
      }
      

      然后我不得不改变

      $postvar_value = $$postvars[$var];
      

      $postvar_value = $_POST[$postvar_key];
      

      【讨论】:

        猜你喜欢
        • 2013-01-11
        • 2011-09-12
        • 2012-11-02
        • 1970-01-01
        • 2020-05-09
        • 2013-01-24
        • 1970-01-01
        • 2015-06-21
        相关资源
        最近更新 更多