paypal ipn 需要几分钟

paypal ipn takes couple of minutes

我正在使用来自 paypal 的 IPN 来根据参考交易 ID 获取有关交易的信息。从 paypal 对话框重定向后,我们第一次尝试为客户创建 paypal 帐户时,ipn 似乎花了几分钟才给了我们需要的结果。同样对于基于参考交易 ID 的定期付款,ipn 确认付款需要几分钟到几小时。

我们在前端使用angular,验证过程完成。但是我们的django后端的ipn通知会在几分钟后收到,这太长了。

对于用户体验来说,这是非常糟糕的,其他网站也在几秒钟内处理了这个问题。仅仅是因为沙盒吗?

问候并感谢您的帮助

IPN 是一种非常古老的异步技术。没有延迟保证,也没有理由依赖当前 PayPal Checkout 集成的 IPN 通知。

相反,请遵循 PayPal Checkout integration 指南并在您的服务器上创建 2 条路由,一条用于 'Create Order',一条用于 'Capture Order'(参见 'Add and modify the code' 中的可选步骤 5 ).这两条路线都应该 return 只有 JSON 数据(没有 HTML 或文本)。在第二条路线中,当捕获 API 成功时,您应该将其生成的付款详细信息存储在您的数据库中(特别是 purchase_units[0].payments.captures[0].id,这是 PayPal 交易 ID)并执行任何必要的业务逻辑(例如发送确认电子邮件或预订产品)立即 将您的 return JSON 转发给前端呼叫者之前。

将这 2 条路线与前端批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server