Paypal IPN状态 - 排队

问题描述 投票:15回答:5

我正在使用paypal沙盒进行一些测试付款,直到今天它们都已经好了。我没有收到来自PayPal的IPN,当我检查IPN通知历史记录时,所有消息都显示为已排队

如果我重新发送一个状态为已发送的IPN,我会收到这个罚款但没有新的IPN正在通过。

我检查了服务器上的错误日志,但我没有收到任何编码错误。

我做错了什么,或者这只是PayPals的积压结束?

paypal paypal-ipn
5个回答
8
投票

我有同样的问题 - 原帖后2年。

我想知道这是否与使用沙箱有关 - 如果它也发生在常规帐户中。

我可以通过询问破碎的沙盒辅导员帐户重新发送消息来使用模拟器和事件获取IPN消息 - 所有工作都找到了。只是来自破碎的沙盒辅助器帐户的新消息无休止地排队。

鉴于证据表明这与PayPal积压无关,我非常肯定。 我的第一条消息在25小时前排队(自从它开始以来,我收到了大量的消息,因为重新发送了IPN消息+模拟器消息)。

添加:3天后,早上醒来发现突然发现我的IPN中所有排队的消息都已送达。好像他们有一些非常缓慢的过程(人性化可能?)确实解决了问题(识别卡住的队列并让他们再次运行)。一旦队列卡住,所有后续新消息都会获得QUEUE状态,直到好的PaylPal进程运行它们。

如上所述,似乎所有投诉都与沙箱帐户有关 - 这可能意味着非沙箱帐户的流程要快得多,或者真实帐户中的问题不会发生。


6
投票

对于遇到此错误的任何人,我今天早上再次收到我的IPN消息。所以在PayPals结束时一定是个问题。


5
投票

我会发布我的解决方法,因为我和其他人在2。5年后仍然遇到PayPal的沙箱问题:

  1. 进入您的IPN设置并将其设置为“不接收IPN消息(已禁用)”,
  2. 启动测试付款。交易将在交易历史记录中显示为“已禁用”而非“排队”。
  3. 然后,将IPN通知设置为“接收IPN消息(已启用)”。查看历史记录时,您将看到该交易旁边的复选框。
  4. 然后,您可以选中该复选框并重新发送。

我知道这不是一个理想的解决方案,因为它需要一些额外的步骤,但至少它允许我们使用沙箱进行测试。


2
投票

我整天都有同样的问题马克。我知道IPN正在进入我的网站,因为我能够让Paypal重新发送一个早期的IPN OK,也可以手动发送测试IPN工作正常。

也许今天早些时候他们遇到问题后会发出巨大的积压。

约翰


0
投票

PayPal Sandbox应该让我们在虚假/测试环境中测试PayPal功能。

但是,在实践中:Sandbox环境比生产环境慢得多 - 而且通常异常缓慢。

这是一个非常典型的例子:

2017-12-19 10:27     Test payment OK.
2017-12-19 12:43     Test payment finally visible in the test business account, but IPN still not sent (queued, 0 retry, nothing on ngrok.)
2017-12-19 20:23     IPN finally received.

PayPal Sandbox IPN slow

即:在测试购买和接收第一个IPN之间花了近10个小时。

以下是一些提示。


正常的购买流程(无论是生产还是沙箱)都是这样的:

  1. 您在自己的网站上进行购买。
  2. 这笔钱会被发送到您的商家帐户。
  3. IPN会被发送到您的网站。

在生产中:步骤2和3通常在步骤1的几分钟内发生。

但是,在Sandbox环境中:步骤2(余额)通常仅在步骤1之后数小时发生。即使步骤2确实发生,步骤3(IPN)仍然不会立即发生,并且通常需要等待数小时。

当然,这一切都非常烦人,并且会破坏测试环境的目的。

测试一下你的工作正常,而且它只是“好老”的PayPal速度很慢:

  • 密切关注您的错误日志。您的测试订单中没有错误?
  • 密切关注Sandbox商家帐户,了解资金何时到达。
  • 密切关注您的活动日志,看看您是否收到了有关预期网址的任何通知。 (使用ngrok进行本地开发使这更容易。)
  • 密切关注IPN history page of the Sandbox以了解IPN的状态。特别是: 检查最新的交货尝试日期/时间字段。只要它是空的,你就不能责怪你自己的IPN脚本。

资料来源:这是基于我多年来在生产中使用PayPal并每年使用PayPal Sandbox进行几次测试。在测试时,总是很难判断我是否搞砸了某些东西(没有通知),或者是否只是沙盒慢了。我最终计算出来的东西......事实证明,通知是5H +迟到,甚至更多。


底线:

  • 转移到一个新的更好的支付网关,例如:Stripe,测试环境确实可以实时运行。
  • 如果您坚持使用PayPal,那么模拟IPN(通过提交您自己的假IPN或旧数据)可能比使用Sandbox更方便,至少在时间紧迫时。
© www.soinside.com 2019 - 2024. All rights reserved.