Paypal Payments Standard不会在iPad上返回付款变量

时间:2014-01-12 07:41:01

标签: ipad paypal

我刚刚使用 Paypal Payments Standard 完成了一个网站的开发,所有这些都在大多数计算机上运行得很好,但是paypal并没有在iPad(以及其他设备)上返回任何支付变量。 / p>

我创建了自己的购物车,并使用立即购买功能来支付整个订单。 立即购买表单将RETURN变量设置为购物车页面,RM变量设置为2,应将变量发布回购物车页面。

付款完成后,购物车页面会检查已过帐的付款变量并将其记录到数据库中。

如上所述,这在大多数计算机上都能很好地工作。 但是,在iPad上,用户返回购物车页面,但未发布任何付款变量。将RM变量更改为1时也是如此,该变量应将变量作为GET参数发送。

您可以在http://unameit.ch/

查看代码和工作网站

2 个答案:

答案 0 :(得分:1)

这不是您问题的答案,但可以解决问题,无论如何都会对您有所帮助。

使用返回URL不是将数据导入数据库的好方法,因为即使启用了自动返回,也无法保证用户将其返回到返回URL。在这种情况下,该代码永远不会运行,数据永远不会进入您的数据库。

相反,您应该使用的是IPN。无论用户是否将其恢复到您的网站,都会触发IPN。它与PDT非常相似,除了将数据POST回到返回URL之外,它将POST发送到除了结帐页面之外的单独的侦听器脚本。它实时发生,因此结果将与您现在尝试的结果相同,但无论用户是否将其恢复到您的网站,它都将始终有效,您不必担心关于你在iPad交易中遇到的问题。

我强烈建议你这样做,否则你会发现你的数据库中缺少订单数据,即使你最终解决了这个问题。

答案 1 :(得分:0)

我遇到了与手动回调相同的问题,并且一直在与PayPal技术支持人员交谈。他们同意在移动/平板电脑设备上存在此问题。基本上,如果您前往移动PayPal网站进行付款,您将无法将任何数据发回您的返回网址:

他们告诉我们改用ExpressCheckoutAPI:

  

"是的,ExpressCheckout在所有平台上都没有任何问题。   事实上,我发现mobileWPS结账是围绕着   ExpressCheckout,这就是你的数据被砍掉的原因。   从WPS到EC的翻译中丢失了一些数据。"

很抱歉,这不是答案,但至少我们知道PayPal知道这是一个错误。