iframe 中显示的嵌入式付款返回 url
Posted
技术标签:
【中文标题】iframe 中显示的嵌入式付款返回 url【英文标题】:Embedded Payment return url shown in iframe 【发布时间】:2012-03-02 01:38:45 【问题描述】:我正在尝试将自适应支付实现为带有灯箱的嵌入式支付。
在用户付款之前它可以正常工作,但在用户完成付款之后
return url
指定的页面在 iframe 中加载。
我希望它被加载到窗口而不是 iframe 中。
以下是我拥有的代码。我错过了什么吗?
环境 Java(播放框架) PayPal_Platform_Java_SDK_N
预期的页面转移场景 PageA - (“使用贝宝付款”按钮点击) → 贝宝对话框 - (“关闭”按钮单击) → 页面B
PageA.html
<form action="https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay" target="PPDGFrame">
<dl>
<dt></dt>
<dd>
<input id="type" type="hidden" name="expType" value="light">
<input id="paykey" type="hidden" name="paykey" value="AP-KEY">
<input type="submit" id="paypalSubmitBtn" value="Pay with paypal" />
</dd>
</dl>
</form>
<script type="text/javascript">
var dgFlow;
$(function()
dgFlow = new PAYPAL.apps.DGFlow( trigger: 'paypalSubmitBtn' );
);
</script>
PageB.html
<p>Thank you for your payment!</p>
<script type="text/javascript">
function handleEmbeddedFlow()
if (top && top.opener && top.opener.top)
top.opener.top.dgFlow.closeFlow();
else
top.dgFlow.closeFlow();
top.close();
jQuery.event.add(window, "load", function()
alert("window.load");
handleEmbeddedFlow();
);
</script>
我还注意到,dgFlow
在 PageB.html 中的 else case 的 top.dgFlow.closeFlow();
中无法解析。
【问题讨论】:
我只是想知道其他尝试相同事情的开发人员是否成功...... 好的,让灯箱工作,但正如提到的,迷你浏览器很可能会显示给 90% 的用户,因为谁实际上仍然登录到 PayPal?我得到和你一样的结果,returnUrl 和 cancelUrls 出现在 IFrame 中。很烦人。你找到解决办法了吗?是否可以在关闭之前获取 IFrame 的 url? 【参考方案1】:您可以尝试检测页面是否在 iframe 中运行,如果是则直接重定向到该页面。
如何检测: How to identify if a webpage is being loaded inside an iframe or directly into the browser window?
如何重定向: Redirect the parent page from IFrame
【讨论】:
以上是关于iframe 中显示的嵌入式付款返回 url的主要内容,如果未能解决你的问题,请参考以下文章