2012-02-09 9 views
5

Uyarlanabilir ödemeleri ışık kutusuyla gömülü ödeme olarak uygulamaya çalışıyorum.iframe'de gösterilen Gömülü Ödeme dönüşü url'si

Bir kullanıcı ödeme yapana kadar iyi çalışır, ancak kullanıcı return url tarafından belirtilen ödeme sayfasını tamamladıktan sonra iframe içine yüklenir. iframe'deki pencerede yüklü olmamasını bekliyorum. Aşağıda, sahip olduğum kod var. Bir şey mi eksik?

Çevre
Java (Play Framework)
PayPal_Platform_Java_SDK_N

Beklenen Sayfa Transferi Senaryo
A Sayfası - ("PayPal ile ödeme" butonuna tıklayın)
→ paypal iletişim - ("yakın" düğmesini tıklatın)
→ 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> 

Ben de dgFlow çözülmesi edilemeyeceğini fark başka vaka en top.dgFlow.closeFlow(); PageB.html içinde.

+0

Sadece merak ettim aynı şeyi denemek diğer geliştiricilerin bu .... – TAT

+1

tamam başarmış eğer ışık kutusu çalışma var Ancak bahsettiğimiz gibi, mini tarayıcı, kullanıcıların% 90'ı için büyük olasılıkla görüntüleniyor; Sizinle aynı sonucu alıyorum, IFUme'de returnUrl ve cancelUrls görünür. Çok sinir bozucu. Bunun için bir düzeltme buldun mu? IFrame'in URL'sini kapatmadan önce almak mümkün mü? – Jordan

cevap