如何处理PayPal IPN延迟

时间:2016-03-30 23:08:43

标签: php twitter-bootstrap drupal delay paypal-ipn

我们使用PayPal设计了一个带有一次性购买选项的Bootstrap网站,到目前为止,IPN快速响应没有问题。

然后,我们有另一个使用定期订阅的Bootstrap网站,IPN总是被延迟。我们还使用' PayPal角色'开发了另外两个定期订阅的Drupal网站。模块和IPN也总是在这些网站上延迟。

当客户/用户在完成付款后返回我们的任何订阅网站时,我们的确认页面会返回"您无权查看此页面..."错误,因为IPN已延迟且尚未从PayPal收到。通常,如果我们等待大约5-10秒并刷新页面,IPN会赶上,更新数据库,错误就会消失,用户就可以访问我们的网站了。但是,在测试期间有一次IPN到达需要10分钟。

在PayPal开发者网站上,我读到IPN不是一个实时解决方案,但似乎没有提供解决此问题的解决方案。那么解决潜在的IPN延迟的最佳解决方案是什么?由于大多数付款都是成功的,我们希望我们的客户在付款完成后立即访问我们的网站。如果付款因某种原因失败,我们可以手动更新客户帐户。

2 个答案:

答案 0 :(得分:3)

我管理到了PayPal技术支持,我想我会分享IPN选项的替代方案,称为PDT(支付数据传输)。

PDT将立即返回交易数据,对于需要立即响应客户的网站非常有用,例如提供数字产品或服务的商店。

虽然PDT不允许访客结账,但它只会发送一次交易数据。如果您的网站关闭,它将不会重新尝试发送通知,并且不会发送有关退款,退款等的其他未来通知。

PayPal通常会推荐IPN,但公开声明它可能有延迟。

答案 1 :(得分:0)

PayPal是对的。 IPN不是实时系统。您可能会在一小时内获得IPN(或者,如果您的系统已关闭,则必须等待IPN重试)。

如果实时非常重要,那么您应该切换到Payments Pro。 API为您提供满足您需求的实时响应。但是,您必须同时订阅Payments Pro和Recurring Payments系统。