【问题标题】:Firefox doesn't return POST data after returning from Paypal siteFirefox 从 Paypal 网站返回后不返回 POST 数据
【发布时间】:2013-09-02 09:22:27
【问题描述】:

我在我的网站上使用paypal IPN。付款完成后,客户返回网站,PHP 脚本将处理贝宝在$_POST 变量中发送的交易数据。

使用除 Mozilla Firefox 之外的任何浏览器时,数据都可以正常传递。 它似乎显示了有关将数据从 https:// 站点发送到 http:// 的警告p>

如果我在下一秒内单击“确定”按钮,则会出现警告,因此数据可以正常传递。 但是,当我等待几秒钟然后单击按钮时,$_POST 是空的。

例如,

Opera 会显示相同的警告,但仍会发送帖子数据。 该问题仅出现在 Firefox 中。

有人遇到过这个问题吗?

【问题讨论】:

  • IPN 数据与浏览器无关,所以我很困惑

标签: php firefox paypal


【解决方案1】:

Hill79,非常感谢您的回复。

我已经解决了使代码在自动返回和启用PDT 的情况下工作的问题。 现在脚本获取$_GET参数,根据PDT令牌调用支付数据。

现在就像一个魅力!

我之前使用 $_POST 数据的原因是因为那是其他开发人员在 PayPal 没有提供自动退货选项时编写的旧代码。

无论如何,如果您有机会尝试将 $_POST 从安全域 (https://) 发送到非安全域 (http://)使用 Firefox 浏览器。我打赌你会遇到和我一样的问题:你会收到浏览器的警告,在你确认发送数据后,$_POST 将一无所获。

再次感谢您的帮助!

【讨论】:

  • 我遇到了同样的问题,当然这让我发疯了。谢谢
  • 谢谢你,你帮我省了钱。我打算购买ssl证书。 ;)
【解决方案2】:

如果您使用 Paypal 的自动返回功能在付款后将用户送回您的网站,则交易信息将作为 URL 变量($_GET 而不是 $_POST)发送。

IPN 功能独立于用户浏览器工作,Paypal 通过 $_POST 变量将交易数据直接发送回您的站点(发送到您在设置中指定的脚本) - 这个想法是您不必依赖用户返回您的网站以获取交易详情。

明智的做法是仔细检查您没有在应该使用 $_GET 的地方使用 $_POST,并且您的 Paypal 设置配置正确。

【讨论】:

    猜你喜欢
    • 2015-10-17
    • 2016-01-22
    • 2018-01-24
    • 2023-03-08
    • 2014-04-23
    • 1970-01-01
    • 2014-08-20
    • 2015-10-14
    • 2022-01-25
    相关资源
    最近更新 更多