0

我有一张付款表格。当我提交该表格时,它会在我成功提交后重定向到 PAYONE 以获取付款信息​​。该页面重定向到我网站的成功链接以获取更多详细信息。

现在我的问题开始了:我将支付网关 (PAYONE) 页面打开到同一窗口中的 iframe 中。但是当我成功提交信息并点击提交时。然后它将在 iframe 中重定向

如何重定向到我在发布数据中提供的成功链接?

4

3 回答 3

2

我知道这个问答比泥土更古老,但我想我会为其他寻找此信息的人澄清一下。

由于重定向将在同一域中的页面上,跨域脚本安全不会发挥作用,因此您无需在 iframe 父级上放置任何代码,只需让支付提供商返回页面具有以下内容:

<html><head><title></title></head>
<body onload="parent.location='http://www.google.com';">
If you are not redirect in 5 seconds, please click here...  etc..
</body></html>
于 2012-01-05T23:12:09.507 回答
1

由于安全性和现在可以控制您的支付提供商,处理此问题的最简单方法是拥有一个“登陆”iframe 页面,客户从支付提供商处重定向回该页面。然后该页面调用一个函数来重新加载整个页面到一个新的 URL...

在父窗口中:将其放在该部分中

<script type="text/javascript">
    function payment_redirect(url) { document.location=url;}
</script>

然后只需一个简单的 iframe 登陆页面即可触发更新

<html><head><title></title></head>
<body onload="parent.payment_redirect('http://www.google.com');">
If you are not redirect in 5 seconds, please click here...  etc..
</body></html>

请注意我如何在父窗口中包含该函数,然后通过“父”从 iframe 页面调用它 - iframe 安全性不会让您直接从 iframe 重定向或刷新页面...

于 2011-01-08T06:16:28.023 回答
0

自从提出这个问题以来,PAYONE 已将iframe-busting合并到他们的 API 中。在为支付表单创建链接或 POST 参数时,请包含此参数:

'targetwindow' => 'top'

其他允许的值为:

  • 窗户
  • 开瓶器
  • 最佳
  • 父母
  • 空白的
  • 自己

从支付表单返回的用户将被发送到指定的目标窗口。

于 2016-07-26T10:56:58.943 回答