gpt4 book ai didi

Paypal IPN 延迟数小时

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:34 24 4
gpt4 key购买 nike

我正在使用 Paypal 自适应支付通过 Paypal 进行交易。虽然很少有交易花费超过 6 小时也收到 IPN。

我浏览了论坛帖子及其文档,我找到了 - https://developer.paypal.com/webapps/developer/docs/classic/products/instant-payment-notification/

“因为 IPN 不是实时服务,您的结帐流程不应等待 IPN 消息完成才能完成。如果结帐流程依赖于接收 IPN 消息,处理可能会因系统负载而延迟或其他原因。您应该配置结帐流程以处理可能的延迟。”

回调花费了 6 个多小时太多了。有什么建议吗?

最佳答案

我制作了几个自定义手推车。平均而言,我看到 PayPal IPN 最长会在 2 分钟内返回,而且通常循环付款比单次付款需要更长的时间,因为它们在初始设置时会发送两条 IPN 消息,而不是一条。我通常采用“自定义”属性并放置一个我永久保存的唯一标识符。因此,即使我可能会看到初始 IPN 出现在定期付款中,我也会等待显示 txn_typesubscr_payment 以及 payment_status< 的那个完成。除非您看到第二条消息,否则您不能真正相信订阅付款。如果是单笔付款,那么我会寻找 txn_typeweb_acceptpayment_statusCompleted

我的处理方式是使用表单按钮技术将客户重定向到 PayPal 进行购买。客户付款然后被重定向(感谢我最初创建的表单隐藏变量)回到我指定的我自己的自定义购物车 URL。我将该 URL 称为付款确认脚本。在使用 PayPal 确认他们的付款时,我会显示一 strip 有进度条的消息,请稍候。我将它们放在那里 10 秒钟,然后重定向到收据。在收据上,我检查数据库以查看我的 IPN 脚本是否已经处理了该订单。如果没有,那么我会再次将他们重定向回付款确认脚本,再延迟 10 秒的进度条。我的收据使用 session cookie 来确保我永远不会将它们多次发送到循环中以发送到付款确认脚本。因此,客户又等了 10 秒,然后返回到收据页面,我在那里再次测试,读取我保存的“自定义”属性上的永久 cookie,以及来 self 的 IPN 的“自定义”属性用作数据库中的顺序键。通常在第一个或第二个 10 秒延迟内,IPN 已经进来,我可以继续。但是,如果 IPN 仍然没有进来,那么我会重定向到一条友好的错误消息,说明他们的付款无法确认,并调用我们的调用中心来解决这个问题。然后,我们的调用中心技术人员发现了 PayPal 中的延迟问题,取消了另一笔交易,然后通过电话手动向客户销售。

关于Paypal IPN 延迟数小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35013099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com