代码之家  ›  专栏  ›  技术社区  ›  stringo0

Paypal PDT&IPN问题-我们是否可以假设付款在返回站点时完成?

  •  1
  • stringo0  · 技术社区  · 14 年前

    当客户自动返回我们的网站时,我们是否可以假设交易的付款已完成?

    Paypal建议我们使用他们的IPN系统进行其他类型的支付,如电子支票,但也告诉我们要告诉客户一些类似“感谢您的付款”。您的交易已完成,您的购买收据已通过电子邮件发送给您。您可以登录您的帐户www.paypal.com/ca查看此交易的详细信息。”

    不使用IPN,假设paypal自动将用户返回到我们的网站时支付完成,有什么缺点?

    2 回复  |  直到 14 年前
        1
  •  1
  •   PaulG    14 年前

    仅仅依靠返回url是一个非常糟糕的主意。这将是一个坏人很容易跳过付款,只需访问您的返回网址完成订单。

    关于这个有一篇相当全面的文章 here

        2
  •  0
  •   bg17aw    9 年前

    不。

    www.yourReturnURL.com?tx=9XV61416UY0043254&st=Completed&amt=9%2e00&cc=USD&cm= 9601&item_number=2

    您需要通过将支付参考(“tx”参数)发送回Paypal并等待验证的响应来验证此数据(任何人都可以发送假请求)。

    • 使用PDT,您可以立即收到通知。PDT有一个主要缺点:它只发送一次订单确认。因此,当PDT发送确认消息时,您的站点必须正在运行;否则,它将永远不会收到消息。

    • 相比之下,IPN几乎可以保证订单确认书的交付,因为IPN会重新发送确认书,直到您的站点确认收到为止。因此,PayPal建议您实施IPN而不是PDT。

    • 注意:如果您的网站必须立即通知付款,您可以实施 二者都 IPN和PDT。

    https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNPDTAnAlternativetoIPN/