Paypal IPN vs PDT vs REST API app webhooks vs NVP/SOAP API webhooks
Paypal IPN vs PDT vs REST API app webhooks vs NVP/SOAP API webhooks
多年来我一直在使用 Paypal IPN 在交易后发送电子邮件,效果很好,但我看到了 4 种类似的方法:
PDT (Payment Data transfer), here is an interesting question about it: IPN vs PDT in Paypal
问题:在什么情况下使用其中一个,尤其是最后两个?
关于前两个问题的部分回答:使用 PDT,当客户完成付款时,您的网站立即得到通知。但是,对于 IPN,在客户完成付款和您的站点收到此事件通知之间存在 material 延迟。但后者可能更可靠; doc 确实说:
PDT has a major weakness: it sends order confirmations once and only once. As a result, when PDT sends a confirmation, your site must be running; otherwise, it will never receive the message. With IPN, in contrast, delivery of order confirmations is virtually guaranteed since IPN resends a confirmation until your site acknowledges receipt. For this reason, PayPal recommends that you implement IPN rather than PDT.
最后一件事:
我尝试启用 REST API 应用程序 webhooks,我启用了它 Live
(不是沙箱),检查 All events
是否已注册,已测试我的服务器上的侦听器脚本与 webhook 模拟器(工作),但是......遗憾的是 "Live" 交易不会生成任何 webhook 事件(所以问题甚至不是来自我的侦听器脚本,它是 Paypal 不'触发 webhook 事件...)。
我注意到您可以在 Manage NVP/SOAP Webhooks 选项卡中或在您需要先创建的 REST API 应用程序中创建 Webhook,有什么区别?注意:我在前者的 URL 中看到 "accountBasedWebhooks" ,这是否意味着某些 webhooks 是帐户通用的,而某些 webhooks 是特定于某个应用程序的(在这种情况下,什么是真正的应用程序)然后呢?)?
部分答案:
为 REST API 应用程序设置 Webhook 时,只有当它链接到此应用程序时才会触发事件(在我的情况下从未发生过!)
如果您希望为您的所有帐户触发 Webhooks,您必须使用 NVP/SOAP API
Webhooks:https://developer.paypal.com/developer/accountBasedWebhooks/create,所以在我的例子中 这是要使用的选项。
多年来我一直在使用 Paypal IPN 在交易后发送电子邮件,效果很好,但我看到了 4 种类似的方法:
PDT (Payment Data transfer), here is an interesting question about it: IPN vs PDT in Paypal
问题:在什么情况下使用其中一个,尤其是最后两个?
关于前两个问题的部分回答:使用 PDT,当客户完成付款时,您的网站立即得到通知。但是,对于 IPN,在客户完成付款和您的站点收到此事件通知之间存在 material 延迟。但后者可能更可靠; doc 确实说:
PDT has a major weakness: it sends order confirmations once and only once. As a result, when PDT sends a confirmation, your site must be running; otherwise, it will never receive the message. With IPN, in contrast, delivery of order confirmations is virtually guaranteed since IPN resends a confirmation until your site acknowledges receipt. For this reason, PayPal recommends that you implement IPN rather than PDT.
最后一件事:
我尝试启用 REST API 应用程序 webhooks,我启用了它
Live
(不是沙箱),检查All events
是否已注册,已测试我的服务器上的侦听器脚本与 webhook 模拟器(工作),但是......遗憾的是 "Live" 交易不会生成任何 webhook 事件(所以问题甚至不是来自我的侦听器脚本,它是 Paypal 不'触发 webhook 事件...)。我注意到您可以在 Manage NVP/SOAP Webhooks 选项卡中或在您需要先创建的 REST API 应用程序中创建 Webhook,有什么区别?注意:我在前者的 URL 中看到 "accountBasedWebhooks" ,这是否意味着某些 webhooks 是帐户通用的,而某些 webhooks 是特定于某个应用程序的(在这种情况下,什么是真正的应用程序)然后呢?)?
部分答案:
为 REST API 应用程序设置 Webhook 时,只有当它链接到此应用程序时才会触发事件(在我的情况下从未发生过!)
如果您希望为您的所有帐户触发 Webhooks,您必须使用
NVP/SOAP API
Webhooks:https://developer.paypal.com/developer/accountBasedWebhooks/create,所以在我的例子中 这是要使用的选项。