Paypal iframe中显示的嵌入式支付返回url

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

我正在尝试使用lightbox实现自适应支付作为嵌入式支付

在用户付款之前,它工作正常,但在用户完成付款之后 在iframe中加载由
返回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()中解析
如何检测:

如何重定向:

我只是想知道其他尝试同样方法的开发人员是否成功了……好吧,lightbox正常工作了,但正如前面提到的,迷你浏览器很可能会为90%的用户显示,因为谁仍然登录PayPal?我得到了与您相同的结果,返回URL和取消URL出现在IFrame中。很烦人。你找到解决办法了吗?是否可以在关闭IFrame之前获取其url?