2013-06-03 4 views
5

हमारा एप्लिकेशन ExtJs का उपयोग करके बनाए गए एक-पेज एप्लिकेशन है। किसी भी उपयोगकर्ता कार्रवाई के लिए, ब्राउज़र टैब को कभी भी पुनः लोड नहीं किया जाता है और सभी क्रियाएं AJAX का उपयोग करके की जाती हैं। एक उपयोगकर्ता एक ही ब्राउज़र टैब के भीतर एकाधिक एक्सटीजे विंडोज/पैनल खोल/बंद कर सकता है, और इस तरह सबकुछ एक ही ब्राउज़र टैब तक ही सीमित रहता है।एक्स्टजेस जैसे जावास्क्रिप्ट फ्रेमवर्क का उपयोग करके बनाए गए अनुप्रयोगों में भुगतान गेटवे को एकीकृत कैसे करें?

अब, हमें एप्लिकेशन में भुगतान गेटवे को एकीकृत करने की आवश्यकता है, जिसमें उपयोगकर्ता को बैंक वेबसाइट पर रीडायरेक्ट करना और उसे हमारे आवेदन में वापस लाया जाना शामिल है।

समस्या यह है कि जब ब्राउज़र उपयोगकर्ता को रीडायरेक्ट करता है, तो सभी एप्लिकेशन जावास्क्रिप्ट कोड पैनलों और खिड़कियों के साथ नष्ट हो जाते हैं, और जब उपयोगकर्ता एप्लिकेशन पर वापस आ जाता है तो उसे वह छोड़कर अलग होने लगती है।

इस के लिए एक समाधान के रूप में, हम निम्नलिखित दो appraoches का उपयोग करने का सोच रहे थे:

विकल्प 1. आवेदन की स्थिति को बनाए रखने - उपयोगकर्ता किसी भी तरह तो बैंक की वेबसाइट के लिए छोड़ देता है जब हम राज्य को बनाए रखने आवेदन - जैसे कि कौन से खिड़कियां खोले जाते हैं, कौन सा डेटा लेता है, कौन से चर के पास मूल्य आदि होते हैं .. और जब उपयोगकर्ता वापस आ जाता है, तो हम उसके लिए एक ही आवेदन स्थिति उत्पन्न करते हैं।

विकल्प 2. भुगतान गेटवे के लिए एक ब्राउज़र पॉप-अप विंडो है - हम एक बटन जो लेन-देन विवरण ले जाने के एक छोटे से पॉप-अप विंडो खुल जाएगा प्रदान करना चाहते हैं, और इस पॉप-अप विंडो में पूरी भुगतान गेटवे प्रक्रिया पुनर्निर्देशन और सब कुछ का ख्याल रखेगी।

विकल्प 1 बहुत बोझिल और जटिल साबित हो रहा है क्योंकि सटीक स्थिति को बनाए रखना संभव नहीं है।

विकल्प 2 के लिए, हमें यकीन नहीं है कि यह सुरक्षित और संभव है या नहीं?

क्या किसी ने पहले इस तरह के एक दृष्टिकोण को लागू किया है। अन्यथा, अन्य विकल्प क्या हैं जिनके लिए हम जा सकते हैं?

अग्रिम में किसी भी मदद के लिए धन्यवाद।

उत्तर

4

मुझे समस्या का सामना करना पड़ा और मैंने मुख्य एप्लिकेशन में वेबस्केट/मतदान का उपयोग करके इसे लागू किया, जबकि एक नई विंडो भुगतान के लिए पॉप अप हुई।

भुगतान सफल होने के बाद मुख्य आवेदन अधिसूचित किया जाएगा।

इस तरह प्रत्येक भुगतान मुख्य एप्लिकेशन से पूरी तरह से अनबाउंड अपने सैंडबॉक्स में चलता है जो रखरखाव को काफी आसान बनाता है। ध्यान दें कि हमारा बैकएंड मौजूदा भुगतान का उपयोग करके प्रत्येक भुगतान के लिए एक नया सत्र बनाता है।

मुझे लगता है कि भुगतान के लिए नई विंडो खोलना असामान्य नहीं है इसलिए मैंने इसे जाने का फैसला किया।

+0

पॉप-अप विंडो के दृष्टिकोण को साझा करने के लिए धन्यवाद। यह जानकर दिलचस्प है कि आप मूल विंडो को सूचित करने के लिए वेबस्केट/मतदान का उपयोग कर रहे हैं। पॉप-अप दृष्टिकोण के लिए जा रहे हैं, तो हम वास्तव में इस अधिसूचना के लिए बच्चे विंडो के अनलोड/बंद होने पर पैरेंट विंडो पर फ़ंक्शन का आह्वान करने की योजना बना रहे हैं। क्या आपने यह भी कोशिश की है और इसके साथ कोई समस्या है जिसने आपको वेबस्केट विकल्प चुना है? – netemp

+0

@netemp लक्ष्य उन्हें शुरुआत से पूरी तरह से अलग रखना था। यही कारण है कि मैंने उस दृष्टिकोण पर ध्यान केंद्रित किया। यह किसी भी ज्ञात मुद्दे के बाद एक डिजाइन चीज थी। – sra

+1

उल्लिखित बिंदु के लिए धन्यवाद। क्या आप यह भी साझा कर सकते हैं कि आपको पॉप-ब्लॉकर के साथ किसी भी समस्या का सामना करना पड़ा? क्या आपको शिकायतें मिलीं कि आम तौर पर ब्राउज़र द्वारा पॉप-अप अवरुद्ध किए जाते हैं और इस प्रकार से बचा जाना चाहिए? – netemp

संबंधित मुद्दे