Paypal iframe中显示的嵌入式支付返回url
我正在尝试使用lightbox实现自适应支付作为嵌入式支付 在用户付款之前,它工作正常,但在用户完成付款之后 在iframe中加载由Paypal iframe中显示的嵌入式支付返回url,paypal,paypal-adaptive-payments,Paypal,Paypal Adaptive Payments,我正在尝试使用lightbox实现自适应支付作为嵌入式支付 在用户付款之前,它工作正常,但在用户完成付款之后 在iframe中加载由返回url指定的页面。 我希望它加载到窗口中,而不是iframe中。 下面是我的代码。我错过什么了吗 环境 Java(游戏框架) 贝宝平台Java SDK 预期的页面传输场景 PageA-(“使用贝宝支付”按钮点击) → paypal对话框-“关闭”按钮点击) → PageB PageA.html <form action="https://www.sandb
返回url
指定的页面。
我希望它加载到窗口中,而不是iframe中。
下面是我的代码。我错过什么了吗
环境Java(游戏框架)
贝宝平台Java SDK 预期的页面传输场景
PageA-(“使用贝宝支付”按钮点击)
→ paypal对话框-“关闭”按钮点击)
→ PageB 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>
<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>
var dgFlow;
$(函数(){
dgFlow=new PAYPAL.apps.dgFlow({trigger:'paypalSubmitBtn'});
});
PageB.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>
<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>
谢谢您的付款
函数handleEmbeddedFlow(){
if(top&&top.opener&&top.opener.top){
top.opener.top.dgFlow.closeFlow();
}
否则{
top.dgFlow.closeFlow();
}
top.close();
}
添加(窗口,“加载”,函数(){
警报(“窗口加载”);
handleEmbeddedFlow();
});
我还注意到,
dgFlow
无法在else case的top.dgFlow.closeFlow()中解析您可以尝试检测页面是否在iframe中运行,如果是,则直接重定向到页面
如何检测:
如何重定向:
我只是想知道其他尝试同样方法的开发人员是否成功了……好吧,lightbox正常工作了,但正如前面提到的,迷你浏览器很可能会为90%的用户显示,因为谁仍然登录PayPal?我得到了与您相同的结果,返回URL和取消URL出现在IFrame中。很烦人。你找到解决办法了吗?是否可以在关闭IFrame之前获取其url?