5

ライトボックスを使用した埋め込み支払いとしてアダプティブ ペイメントを実装しようとしています。

ユーザーが支払いを行うまでは問題なく動作しますが、ユーザーが完了すると、指定された支払いページreturn urlが iframe 内に読み込まれます。iframeではなくウィンドウにロードされることを期待しています。以下は私が持っているコードです。何か不足していますか?

環境
Java(プレイフレームワーク)
PayPal_Platform_Java_SDK_N

予想されるページ転送シナリオ
PageA - (「paypal で支払う」ボタンをクリック)
→ 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>

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>

また、PageB.htmldgFlowの else ケースでは解決できないことにも気付きました。top.dgFlow.closeFlow();

4

1 に答える 1

2

ページが iframe で実行されているかどうかの検出を試みることができます。実行されている場合は、そのページに直接リダイレクトします。

検出 方法: Web ページが iframe 内にロードされているか、ブラウザー ウィンドウに直接ロードされているかを識別する方法は?

リダイレクト方法: 親ページを IFrame からリダイレクトする

于 2013-01-03T12:42:45.013 に答える