我正在开发一个商家网站,我现在正在使用Paypal。 我发现使用IPN和自动返回可以完成我想要的工作。
我正在使用NGROK来暴露我的本地主机,一切正常。但是,当我看一下NGROK终端时,我发现PayPal实际上是先将数据发送到我的自动返回页面,然后在3秒后将其余部分发送到我的IPN文件。
我确实认为正确的数据处理是IPN然后成功......我错了吗?那是因为我正在使用NGROK或localhost吗?或者也许是PayPal Sandbox?
答案 0 :(得分:3)
听起来你正在混淆PDT和IPN。
PDT =付款数据转移。这适用于自动退货,付款数据会发送回您的退货网址,以便您在屏幕上显示。不应在此处进行数据库更新,电子邮件通知等,因为即使启用了自动返回功能,也无法保证用户将其返回到返回URL。
IPN =即时付款通知。这适用于事务后处理,您应该处理数据库更新,电子邮件通知以及每次事务发生时确保发生的任何其他操作。 IPN还允许您处理电子支票更新,退款,客户争议等事情,当时没有进行任何浏览器交互。
您可以同时使用它们,但PDT URL和IPN URL应该彼此不同。 PDT URL将是您的返回/感谢页面,您只会在此处显示数据以供用户参考。 IPN URL将是一个单独的脚本,仅用作侦听器。