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

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

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

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

最佳答案

我设法获得了贝宝(PayPal)的技术支持,我想与大家分享IPN选项的另一种选择,称为PDT(付款数据传输)。

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

PDT不允许来宾结帐,它只会发送一次交易数据。如果您的网站已关闭,它将不会重新尝试发送通知,并且将来也不会发送有关退款,退款等其他通知。

PayPal通常建议使用IPN,但公开声明可能会有延迟。

关于php - 如何处理PayPal IPN延迟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36321346/

10-13 02:11