2012-02-09 13 views
5

में दिखाए गए एंबेडेड पेमेंट रिटर्न यूआरएल मैं लाइटबॉक्स के साथ एम्बेडेड भुगतान के रूप में अनुकूली भुगतान को लागू करने की कोशिश कर रहा हूं।आईफ़्रेम

उपयोगकर्ता द्वारा भुगतान करने तक यह ठीक काम करता है, लेकिन उपयोगकर्ता return url द्वारा निर्दिष्ट पृष्ठ को पूरा करता है, तो iframe के भीतर लोड हो जाता है। मुझे उम्मीद है कि यह खिड़की में लोड होने की उम्मीद है अगर आईफ़्रेम में नहीं। मेरे पास कोड है जो निम्नलिखित है। क्या मैं कुछ भूल रहा हूँ?

पर्यावरण
जावा (खेल ढांचा)
PayPal_Platform_Java_SDK_N

अपेक्षित पृष्ठ स्थानांतरण परिदृश्य
पृष्ठ A - ("Paypal द्वारा भुगतान करें" बटन क्लिक करें)
→ paypal संवाद - ("बंद" बटन क्लिक करें)
→ पेजबी

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 में।

+0

मैं सिर्फ इसमें रुचि है, तो अन्य डेवलपर्स जो एक ही बात की कोशिश सफल रहा है यह .... – TAT

+1

ठीक है, लाइटबॉक्स काम कर मिल गया , लेकिन जैसा कि बताया गया है कि मिनी ब्राउजर 9 0% उपयोगकर्ताओं के लिए प्रदर्शित होगा क्योंकि वास्तव में पेपैल में कौन रहता है? मुझे आपके जैसा ही परिणाम मिल रहा है, returnUrl और cancelUrls IFrame में दिखाई देते हैं। बहुत कष्टप्रद। क्या आपको इसके लिए कोई फिक्स मिला? क्या इसे बंद करने से पहले IFrame का यूआरएल प्राप्त करना संभव है? – Jordan

उत्तर

1

आप यह पता लगाने का प्रयास कर सकते हैं कि पृष्ठ आईफ्रेम में चल रहा है या नहीं, और यदि पृष्ठ को सीधे रीडायरेक्ट किया जाता है।

पता लगाने के लिए कैसे: How to identify if a webpage is being loaded inside an iframe or directly into the browser window?

रीडायरेक्ट करने के लिए कैसे: Redirect the parent page from IFrame