Я пытаюсь внедрить адаптивные платежи в виде встроенного платежа с помощью лайтбокса.
Работает нормально, пока пользователь не совершит платеж, но после того, как пользователь завершит платеж
страница, указанная return url
, загружается в iframe.
Я ожидаю, что он будет загружен в окно, а не в iframe.
Ниже приведен код, который у меня есть. Я что-то упустил?
Окружающая среда
Java (игровая среда)
PayPal_Platform_Java_SDK_N
Ожидаемый сценарий передачи страницы
PageA - (нажатие кнопки «Pay PayPal»)
& Rarr; диалоговое окно PayPal - (нажатие кнопки «Закрыть»)
& Rarr; * 1017 Страница 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
не может быть разрешено в другом случае top.dgFlow.closeFlow();
в PageB.html.