【问题标题】:Slow Paypal IPN by 3 seconds将 Paypal IPN 减慢 3 秒
【发布时间】:2014-11-19 14:18:24
【问题描述】:

我有一个 paypal IPN 系统。支付系统运行良好,支付所需金额的罚款,但 IPN 只是稍微关闭。

我已经对 IPN 连接到我的网站的时间和我加载 /shop/thanks 页面的时间做了一些时间戳 - 这是数据:

IPN: [1416406186 // 14:09:46 19-11-14] papypal.php runtime: 1 seconds. (start time: 1416406185 / end time: 1416406186)

/shop/thanks 错误: [1416406183 // 14:09:43 19-11-14] /shop/thanks error - could not display thank you message.

三秒。如果我直接通过贝宝流程,我会在贝宝通过 IPN 更新我之前 3 秒到达我的网站。如果我慢慢浏览它,那么我很可能会得到正确的thank you 页面。

我以前没有遇到过这个问题。我能做些什么来解决它? paypal.php 脚本的运行时间是 1 秒,所以我更新数据库的时间不会太长。

【问题讨论】:

  • 您需要切换到不同的 API 方法。 IPN 用于报告和后台管理。尝试改用Express Checkout 方法。

标签: php paypal-ipn


【解决方案1】:

你不能。 IPN 应该是异步的。您应该说“感谢您的付款,付款完成后我们会通知您。”

但是为什么呢?

因为假设我决定通过电子支票向您付款,即。直接从我的银行账户通过 PayPal。电子支票可能需要 6 到 10 个 来清除。

IPN 可能代表“即时付款通知”,但“即时”部分指的是您实际收到付款的时间,而不是用户发送给您的时间.

现在,话虽如此,您可能可以调整您的 IPN 脚本以接受“待定”状态付款,并采取相应的行动。但是,这不一定是一个好主意,因为它可能会误导用户认为他们的付款已经完成,而实际上它可能会被取消或稍后被视为无效。但这是 UX 的问题。即使这样,在 IPN 系统处理您的通知时,您仍然会有某种延迟。

【讨论】:

  • 天哪。我在其他网站上有 IPN 功能,那里似乎并不慢。我会测试它。感谢您的洞察力。
  • @Chud37 需要注意的一点是,一旦付款完成,PayPal 通常会有一个“带您返回 X”页面,该页面将等待大约 10 秒后再重定向您 - 这是为了允许在将用户送回之前要处理的大多数 IPN 案例。当然,这并不能保证 IPN 在那段时间内可以正常工作,并且无论如何都有一个手动链接,用户可以单击以返回而无需等待,但这通常会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2022-12-04
  • 1970-01-01
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 2018-04-12
  • 2016-06-08
  • 1970-01-01
相关资源
最近更新 更多