Вграден URL адрес за връщане на плащане, показан във вградена рамка

Опитвам се да внедря адаптивни плащания като вградено плащане с лайтбокс.

Работи добре, докато потребителят не извърши плащане, но след като потребителят завърши, страницата за плащане, посочена от return url, се зарежда във вградената рамка. Очаквам да се зареди в прозореца, НЕ в iframe. Следва кодът, който имам. Изпускам ли нещо?

Среда
Java (play framework)
PayPal_Platform_Java_SDK_N

Очакван сценарий за прехвърляне на страница
Страница A - (щракване върху бутона "плащане с paypal")
диалогов прозорец на paypal - (щракване върху бутона "затваряне")
Страница B

СтраницаA.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>

СтраницаB.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(); else case в PageB.html.


person TAT    schedule 09.02.2012    source източник
comment
Просто се интересувам дали други разработчици, които опитват същото, са успели в това....   -  person TAT    schedule 20.02.2012
comment
добре, лайтбоксът работи, но както споменахме, минибраузърът най-вероятно ще се показва за 90% от потребителите, защото кой всъщност остава влязъл в PayPal? Получавам същия резултат като вас, returnUrl и cancelUrls се появяват във IFrame. Много досадно. Намерихте ли решение за това? Възможно ли е да получите URL адреса на IFrame, преди да го затворите?   -  person Jordan    schedule 23.05.2012


Отговори (1)


Можете да опитате да откриете дали страницата работи във вградена рамка и ако е така, пренасочете директно към страницата.

Как да откриете: Как да определите дали дадена уеб страница се зарежда във вградена рамка или директно в прозореца на браузъра?

Как да пренасоча: Пренасочване на родителската страница от IFrame

person Sire    schedule 03.01.2013