【问题标题】:PayPal auto return does not send back any POST dataPayPal 自动退货不会发回任何 POST 数据
【发布时间】:2012-01-29 11:53:52
【问题描述】:

我和这篇文章有类似的问题

Setting PayPal return URL and making it auto return?

但是,那里的解决方案不起作用。我们已经设置了 IPN,并且 POST 变量被传回(访问者点击返回并能够下载购买的 PDF 文件),但后来我试图摆脱 Paypal 订单确认页面,上面写着

您刚刚完成付款。您此次付款的交易 ID 是:XXXXXXXXXXXX。

并在网站支付首选项中启用“自动返回”,指定 URL http://www.educted.ca/payment_complete.php,POST 变量现在不会传递回 payment_complete.php - 它显示为空白。一旦我禁用“自动返回”,POST 变量就会正确显示并且可以下载购买的产品。当然,我使用的是 Paypal Sandbox 帐户。

<input type="hidden" name="return" value="<?php echo LIVE_SITE;>payment_complete.php">
<input type="hidden" name="cancel_return" value="<?php echo LIVE_SITE; ?>catalog.php">
<input type="hidden" name="notify_url" value="<?php echo LIVE_SITE; ?>ipn.php">
<input type="hidden" name="rm" value="2">

有什么想法吗?

【问题讨论】:

  • 也许您可以使用自动返回或 IPN,但不能同时使用?

标签: php paypal return paypal-ipn


【解决方案1】:

如果您启用自动返回,则无论rm 设置为什么,都将始终通过 GET 返回值。

如果您想在买家完成交易后立即发送文件,请查看 PayPal 付款数据传输。启用后,PDT 会在您的返回 URL 中添加一个 tx GET 变量;通过拨打https://www.paypal.com/cgi-bin/webscr?cmd=_notify-synch&tx=value-for-tx-here&at=value-for-your-paypal-account-authentication-token PayPal,您将能够提取有关交易的额外数据,并立即检查它是否有效。
另见https://www.paypal.com/pdt/

应为后端处理保留 IPN,因为它可能会带来明显的延迟。
另一方面,PDT 让您从 PayPal 中提取信息,而且非常直接。

【讨论】:

  • 谢谢!这意味着“应为后端处理保留 IPN”是什么意思?那么 IPN 的适当用途是什么?我们需要在我们的案例中使用它吗?
  • 是的,通过使用 IPN,您将自动保持更新,以防交易完成后出现问题(例如,如果 PayPal 决定审查交易,或者如果买家突然提交针对您的 PayPal 案件)。
  • 我正在这样做,但我们没有在 url 中获得 tx= 变量?帖子变量中也没有任何内容?有什么变化吗?
【解决方案2】:

您仍然可以将 Auto Return 设置为 On,但请确保您 DISABLE PDT,并且您将通过 POST 将所有事务变量发送到您的返回 URL(当然,如果您在请求中将 rm 参数设置为 2 ,正如你所说的那样)。

由于某种原因,启用 PDT 将忽略 rm 参数并强制使用 GET 方法。

【讨论】:

    【解决方案3】:

    在您的特定情况下,由于您的代码错误,它显示为空白:

    <?php echo LIVE_SITE;>
    

    这不会被解析为有效的 PHP - 它会导致致命错误。如果尚未输出任何信息且错误报告已关闭,则会显示为空白页。

    【讨论】:

      【解决方案4】:

      您仍然可以将 Auto Return 设置为 On,但请确保您 DISABLE PDT,然后您将通过 POST 将所有事务变量发送到您的返回 URL(当然,如果您在请求中将 rm 参数设置为 2 ,正如你所说的那样)。

      这是正确答案!如果您想获取 POST-Data,则不能启用发送带有自动响应的付款数据。

      但是,在这种情况下,您必须使用 https 站点,否则客户在重定向之前会收到警告!

      【讨论】:

        猜你喜欢
        • 2012-04-12
        • 2017-10-17
        • 2017-12-04
        • 2015-06-07
        • 1970-01-01
        • 2013-03-19
        • 2013-01-05
        • 2010-10-29
        相关资源
        最近更新 更多