【问题标题】:Paypal PDT & IPN Question - Can we assume payment is completed when returned to site?Paypal PDT 和 IPN 问题 - 我们可以假设返回网站后付款已完成吗?
【发布时间】:2011-03-29 21:06:27
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: paypal paypal-ipn


    【解决方案1】:

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

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

    【讨论】:

    • 我们的表单值是加密的——所以通常他们无法访问返回 url——但我决定采用 IPN 方法——总体上看起来更健壮、更安全。
    【解决方案2】:

    没有。

    但是,将您的 Paypal 帐户中的自动退货选项与付款数据传输(个人资料/我的销售工具/网站偏好/网站付款偏好)结合使用会在您用于自动退货的 URL 中为您提供付款确认数据,例如示例:

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

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

    这最后一步与您为 IPN(即时付款通知)实施所采取的步骤相同。

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

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

    • 注意:如果您的网站必须立即收到付款通知,您可以同时实施 IPN 和 PDT。

    更多信息在这里:https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNPDTAnAlternativetoIPN/

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 2017-08-29
      • 2015-10-17
      • 2017-04-24
      • 2014-08-31
      相关资源
      最近更新 更多