Safari, iFrame,将地址栏更改为iFrame URL



我有一个表单,当你点击提交它去到另一个。php页面,其整个目标是加载一个iFrame的URL指向paypal。这使我们能够让客户输入CC信息,而无需他们的CC信息接触我们的服务器(以保持合规性)

我遇到的问题严格来说是iPad上的Safari(也可能是iPhone,但我还没有测试过)

当点击表单按钮后加载第二页时,它将地址栏更改为iFrame的URL,而不是用其URL加载iFrame。

这将导致页面给出关于securetokenID错误的错误,并使客户无法继续。

我给paypal发了一封关于这个问题的电子邮件,但我想我应该在这里停下来,问问其他人是否有这个问题,并知道解决它的方法。

我找到的所有帖子都是2013年关于类似问题的,他们声称paypal不支持手机,你必须通过另一种方式访问paypal。我希望现在,因为它的2年后,有一个更容易的解决方案,让Safari在页面中加载iFrame,而不是将地址栏更改为iFrame的URL。

iFrame代码如下所示:

<iframe src="https://pilot-payflowlink.paypal.com?SECURETOKENID=vvqhqn8hwfi9poo2zcbm4xi4xevaq7hbfbyz&SECURETOKEN=8WjBh0buSd0WLc0FJRSOXwgS9" id="paypal_iframe" name="paypal_iframe" scrolling="no" width="480px" height="540px"></iframe>

所以当我点击表单按钮,它应该去signup_2.php,它做了一个瞬间,然后"重定向"到URL在iframe,这当然不能正确加载,因为paypal期望它在一个iframe

这只发生在苹果移动设备的safari上。

谢谢你的帮助

来自PayPal开发者网站,这里有一些关于托管结帐页面和移动优化的信息:

PayPal的托管结帐页面针对iPhone、iPod和Android设备进行了移动优化。这种移动优化的体验适用于所有3个布局模板A, B和c。在布局A和B的情况下,PayPal将自动检测是否从支持的移动浏览器查看结帐页面,并将重定向到移动优化的结帐页面。对于布局C, PayPal不会自动将移动用户重定向到移动优化流程。原因是,如果PayPal自动显示一个移动优化的嵌入式模板,在一个可能没有移动优化的商家网页中,这可能会产生意想不到的和不希望的结果。要显示Layout C的移动结帐页面,必须检测支持的移动浏览器,然后显式地传递form post参数:TEMPLATE= mobile .

这来自PayPal Payflow网关开发者指南

最新更新