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

时间:2015-07-18 15:45:14

标签: iframe paypal mobile-safari

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

我在iPad上严格使用Safari的问题(也可能是iPhone,但我还没有测试过)

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

这导致页面提供有关securetokenID错误的错误,并使客户无法继续。

我收到了一封关于Paypal的电子邮件,但我想我会在这里停下来询问是否有其他人有这个问题,并知道解决问题的方法。

我发现的所有帖子都是2013年关于类似问题的,他们声称paypal不支持移动设备,您必须以另一种方式访问​​paypal。我希望现在,自2年后,有一个更简单的解决方案,让Safari在页面中加载iFrame,而不是将地址栏更改为iFrames 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时,它会在一瞬间完成,然后&#34;重定向&#34;到iframe中的网址,这当然不能正确加载,因为PayPal在iframe中期待它。

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

  

PayPal的托管结帐页面针对iPhone,iPod和Android设备进行了移动优化。这种移动优化体验适用于所有3种布局模板A,B和C.对于布局A和B,PayPal将自动检测是否从支持的移动浏览器查看结帐页面并将重定向到优化的移动设备结帐页面。对于布局C,PayPal不会自动将移动用户重定向到移动优化流。原因是,如果PayPal自动显示移动优化的嵌入式模板,则在可能无法进行移动优化的商家网页中,这可能会产生意外和不良结果。要显示布局C的移动结帐页面,您必须检测支持的移动浏览器,然后显式传递表单post参数:TEMPLATE = MOBILE。

这来自PayPal Payflow Gateway Developer Guide