我在PayPal的即时付款通知(IPN)和付款数据传输(PDT)之间遇到了一些麻烦。

基本上,用户在我的网站上购买了一次性产品,付款贝宝(PayPal)并返回我的网站。我了解IPN的工作原理,但我现在看到我可能能够触发PDT成功购买后更轻松地购买后发生的各种动作,因为数据返回那里,然后(而不是需要单独的侦听器) 。

但是,PayPal的PDT文档包含此隐秘线:“ PDT不应与信用卡或快递交易交易一起使用。” ...但是我在主题上找不到任何东西。

  1. 信用卡真的不打算与PDT一起使用吗?我想要一个句子。

  2. 这是否意味着用户必须拥有/创建一个PayPal帐户才能付款?

  3. 这是否意味着,如果我想允许用户直接使用PayPal帐户和/或使用信用卡付款,我必须实施IPN?

谁能经历过这种友善的人?

有帮助吗?

解决方案

PDT和IPN的API相似。主要区别是您收到通知时。因此,我建议两者都实施。

  • 使用PDT,您可以立即获得通知,并可以执行任何其他处理,并向用户显示确认页面。
  • 使用IPN,您可以保证即使用户的计算机在向您发送PDT之前就会爆炸,也可以通知您收到付款。

实施两全其美。但是,如果您只在做一个,那么IPN就是可靠的。

一个收获:如果您同时实现了两者,那么您的付款可能会被处理两次。注意确保不会发生。我编写的应用程序处理PDT和IPN几乎相同(后端部分是相同的),并且该代码在数据库中获取了每次web-user锁定,因此,如果相同的用户尝试多次提交完全相同的付款只能处理一次。一旦处理了该过程的结果,就可以重复使用任何后续尝试处理该过程。

编辑还有一件事:IPN比PDT更多的信息。您可以从IPN收到许多不同的消息,例如退款通知等,因此您确实应该实施它。


PayPal的PDT系统将订单确认发送给使用PayPal付款标准的商户网站,并让他们对此信息进行身份验证。然后,此类站点可以在“订单确认”页面中本地显示此数据。

什么时候使用PDT?

IPN提供了上述相同的功能。那么,您什么时候应该选择PDT而不是IPN?

使用PDT,当客户完成付款时,立即通知您的网站。但是,使用IPN,在客户完成付款的时间与您的网站收到此事件通知的时间之间存在物质滞后。

因此,如果您的网站包含需要立即付款通知的功能,请使用PDT。

例如,考虑一家数字音乐商店。使用PDT,该商店可以让客户立即下载购买,因为PDT立即发送订单确认。使用IPN,这种即时订单实现是不可能的。

IPN的优点

PDT有主要弱点:它一次和一次发送一次订单确认。结果,当PDT发送确认确认时,您的网站必须运行;否则,它将永远不会收到消息。

相反,使用IPN,实际上可以保证订单确认的交付,因为IPN会重新确认确认,直到您的网站确认收据为止。因此,PayPal建议您实施IPN而不是PDT。

IPN的另一个优点是它发送了多种类型的通知,而PDT发送仅订单确认。因此,使用IPN,您的网站可以接收,例如,退款通知以及订单确认。注意:如果必须立即通知您的网站,则可以同时实施IPN和PDT。但是,如果这样做,您的网站将获得每次销售的两个订单确认。结果,您必须小心地在给定的确认消息的一份副本上采取行动(例如,运送产品)。

文档在这里

其他提示

RE 1. PDT旨在与自动返回用于网站付款功能。向卖方付款后,自动返回重定向到PDT网站。不幸的是,不可能将该功能与PayPal帐户一起使用 - 用于启用信用卡付款。这是贝宝(Paypal)的注释:'如果您已打开 自动返回 并选择为新用户打开PayPal帐户的可选,新用户将不会自动引导回您的网站,但会选择返回的选项。'。用户可以选择返回您的网站(PDT步骤)或留在PayPal网站上。如果用户不单击“返回存储链接”,则用信用卡付款时可以跳过PDT步骤总结。

Re 2.由您决定您要允许的付费选项。如果您想允许没有PayPal帐户付款,则可以启用 帐户可选. 。如果您只想允许使用PayPal帐户的用户禁用该功能。可能还有更多选择。

Re 3.在您的情况下,您需要在成功购买后触发操作。推荐的方法是实施IPN。 PDT不适用于所有情况,也不保证消息传递。这是指介绍该主题的链接 PDT与IPN.

这是一个古老的问题,但是我的简单答案是 - 为什么不同时使用PDT和IPN?他们将在卡交易方面工作正常。

PDT可以为您的网站提供即时交易状态,您可以在其中快速检查付款成功或失败状态并为用户提供适当的消息。

同时,您可以等待IPN在后台进行的完整验证。收到后,您可以使用它来进一步更新数据库并处理订单。

您可以遵循此分步指南,我发现该指南非常清晰且有用 - 并且在2018年仍然有效。

https://www.codexworld.com/paypal-standard-payment-gateway-integration-php/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top