खास जानकारी
रीडायरेक्ट शुरू करने का फ़्लो, उपयोगकर्ता को पेमेंट इंटीग्रेटर पर रीडायरेक्ट करता है. इस पर पेमेंट करने के लिए ज़रूरी जानकारी मौजूद होती है. इसके बदले में, इंटिग्रेटर, उपयोगकर्ता को जारी करने वाले के वेब इंटरफ़ेस पर रीडायरेक्ट करता है. साथ ही, वह Google से मिली जानकारी को फ़ॉरवर्ड करता है. इसके बाद उपयोगकर्ता, पेमेंट पूरा करने के लिए, जारी करने वाले के दिए गए निर्देशों का पालन कर सकता है. यह पूरा रीडायरेक्ट फ़्लो को ट्रिगर करेगा.
फ़्लो कैसे काम करता है
पेमेंट जारी करने वाले बैंक या कंपनी को चुनने के लिए, उपयोगकर्ता के पास दो तरीके हैं. पेमेंट के तरीके (एफ़ओपी) के तौर पर उपयोगकर्ता इसका इस्तेमाल कर सकता है.
- उपयोगकर्ता, Google के यूज़र इंटरफ़ेस (यूआई) में, कार्ड जारी करने वाली कंपनी को चुनता है.
- उपयोगकर्ता, Google के यूज़र इंटरफ़ेस (यूआई) में इंटिग्रेटर और इंटिग्रेटर के यूआई में जारी करने वाले को चुनता है.
Google के यूज़र इंटरफ़ेस (यूआई) में उपयोगकर्ता, जारी करने वाले को चुनता है
इस मामले में, उपयोगकर्ता Google के यूज़र इंटरफ़ेस (यूआई) में एफ़ओपी चुनने के दौरान, जारी करने वाले को चुनता है. इसलिए, RedirectRequest के formOfPayment
ऑब्जेक्ट के issuerId
फ़ील्ड में, Google का जनरेट किया गया यूनीक आइडेंटिफ़ायर होगा. यह आइडेंटिफ़ायर, जारी करने वाले की जानकारी देता है. ध्यान दें कि अगर पेमेंट इंटिग्रेटर और जारी करने वाला, दोनों एक ही इकाई हैं, तो पेमेंट इंटिग्रेटर के लिए Google, issuerId
जनरेट करेगा. रीडायरेक्ट करने का अनुरोध, एचटीटीपीएस जीईटी तरीके का इस्तेमाल करता है. इसमें पैरामीटर, यूआरएल के साथ कोड में बदले गए होते हैं.
रीडायरेक्ट फ़्लो शुरू करें (जारी करने वाले को चुना गया)
नीचे दिए गए क्रम में डायग्राम में, उपयोगकर्ता के Google के यूज़र इंटरफ़ेस (यूआई) में, जारी करने वाले को चुनने पर, उपयोगकर्ता के ब्राउज़र, Google, इंटिग्रेटर, और जारी करने वाले के बीच का इंटरैक्शन दिखाया गया है:
यहां ऊपर दिए गए डायग्राम में ऑब्जेक्ट की सूची दी गई है:
- उपयोगकर्ता: वह व्यक्ति जो पेमेंट करना चाहता है.
- Google का यूज़र इंटरफ़ेस (यूआई): Google का वेब या ऐप्लिकेशन इंटरफ़ेस, जहां ग्राहक पैसे चुकाना शुरू करता है.
- Google सर्वर: Google का वह बैकएंड सर्वर जो रीडायरेक्ट करने का अनुरोध करता है.
- पेमेंट इंटीग्रेटर: वह इंटिग्रेटर जो उपयोगकर्ता और रीडायरेक्ट का अनुरोध, जारी करने वाले को फ़ॉरवर्ड करता है.
- जारी करने वाला: जारी करने वाला वह व्यक्ति जहां उपयोगकर्ता के पास खाता है.
रीडायरेक्ट शुरू करने के फ़्लो के लिए, हम पहले से ही यह मानकर चलते हैं कि उपयोगकर्ता, Google की प्रॉपर्टी (Google यूआई) पर है और पेमेंट का तरीका चुन रहा है. हर चीज़ की शुरुआत यहीं से होती है.
- उपयोगकर्ता, पेमेंट करने के लिए पेमेंट जारी करने वाले बैंक या कंपनी को चुनता है. रीडायरेक्ट शुरू करने का फ़्लो यहीं से ट्रिगर होता है.
- Google का यूज़र इंटरफ़ेस (यूआई), Google सर्वर (बैकएंड) को कॉल करता है, ताकि रीडायरेक्ट करने का नया अनुरोध किया जा सके.
- Google सर्वर एक रीडायरेक्ट अनुरोध बनाता है.
- रीडायरेक्ट करने का अनुरोध, Google के यूज़र इंटरफ़ेस (यूआई) पर भेजा जाता है.
- Google का यूज़र इंटरफ़ेस (यूआई), उपयोगकर्ता को इंटिग्रेटर के सर्वर पर रीडायरेक्ट करता है.
- इंटिग्रेटर, Google के रीडायरेक्ट करने के अनुरोध को प्रोसेस करता है और जारी करने वाले के लिए खास तौर पर रीडायरेक्ट करने का अनुरोध जनरेट करता है.
- इंटिग्रेटर, उपयोगकर्ता को जारी करने वाले के वेब इंटरफ़ेस पर रीडायरेक्ट करता है.
- उपयोगकर्ता, जारी करने वाले के वेब इंटरफ़ेस में पुष्टि करता है.
- पेमेंट करने के लिए, उपयोगकर्ता स्क्रीन पर दिए गए निर्देशों का पालन करता है.
उपयोगकर्ता, Google के यूज़र इंटरफ़ेस (यूआई) में इंटिग्रेटर चुनता है
इस मामले में, उपयोगकर्ता Google के यूज़र इंटरफ़ेस (यूआई) में इंटिग्रेटर को चुनता है, इसलिए RedirectRequest का formOfPayment
फ़ील्ड noneChosen
पर सेट हो जाएगा, क्योंकि जारी करने वाले ही मान्य एफ़ओपी को मानते हैं. इंटिग्रेटर को एक ऐसा यूज़र इंटरफ़ेस (यूआई) उपलब्ध कराना होगा जिसकी मदद से, उपयोगकर्ता Google की ओर से मंज़ूरी दिए गए जारी करने वालों में से किसी एक को चुन सकें. रीडायरेक्ट करने का अनुरोध, एचटीटीपीएस जीईटी तरीके का इस्तेमाल करता है. इसमें पैरामीटर, यूआरएल के साथ कोड में बदले गए होते हैं.
रीडायरेक्ट फ़्लो शुरू करें (इंटीग्रेटर चुना गया)
नीचे दिया गया क्रम डायग्राम, उपयोगकर्ता के Google के यूज़र इंटरफ़ेस (यूआई) में इंटीग्रेटर चुनने पर, उपयोगकर्ता के ब्राउज़र, Google, इंटिग्रेटर और जारी करने वाले के बीच का इंटरैक्शन दिखाता है:
यहां ऊपर दिए गए डायग्राम में ऑब्जेक्ट की सूची दी गई है:
- उपयोगकर्ता: वह व्यक्ति जो पेमेंट करना चाहता है.
- Google का यूज़र इंटरफ़ेस (यूआई): Google का वेब या ऐप्लिकेशन इंटरफ़ेस, जहां ग्राहक पैसे चुकाना शुरू करता है.
- Google सर्वर: Google का वह बैकएंड सर्वर जो रीडायरेक्ट करने का अनुरोध करता है.
- पेमेंट इंटीग्रेटर: वह इंटिग्रेटर जहां उपयोगकर्ता, पेमेंट जारी करने वाले को चुनता है.
- जारी करने वाला: जारी करने वाला वह व्यक्ति जहां उपयोगकर्ता के पास खाता है.
रीडायरेक्ट शुरू करने के फ़्लो के लिए, हम पहले से ही यह मानकर चलते हैं कि उपयोगकर्ता, Google की प्रॉपर्टी (Google यूआई) पर है और पेमेंट का तरीका चुन रहा है. हर चीज़ की शुरुआत यहीं से होती है.
- पेमेंट करने के लिए, उपयोगकर्ता किसी खास कंपनी या कंपनी की जगह इंटिग्रेटर को चुनता है. रीडायरेक्ट शुरू करने का फ़्लो यहीं से ट्रिगर होता है.
- Google का यूज़र इंटरफ़ेस (यूआई), Google सर्वर (बैकएंड) को कॉल करता है, ताकि रीडायरेक्ट करने का नया अनुरोध किया जा सके.
- Google सर्वर एक रीडायरेक्ट अनुरोध बनाता है.
- रीडायरेक्ट करने का अनुरोध, Google के यूज़र इंटरफ़ेस (यूआई) पर भेजा जाता है.
- Google का यूज़र इंटरफ़ेस (यूआई), उपयोगकर्ता को इंटिग्रेटर के वेब इंटरफ़ेस पर रीडायरेक्ट करता है.
- इंटिग्रेटर, Google के रीडायरेक्ट के अनुरोध को प्रोसेस करता है.
- इंटिग्रेटर, उपयोगकर्ता को क्रेडिट कार्ड जारी करने वाले बैंक या कंपनी की जानकारी दिखाता है.
- उपयोगकर्ता, पेमेंट करने के लिए पेमेंट जारी करने वाले बैंक या कंपनी को चुनता है.
- इंटिग्रेटर, जारी करने वाले के हिसाब से रीडायरेक्ट करने का अनुरोध जनरेट करता है.
- इंटिग्रेटर, उपयोगकर्ता को जारी करने वाले के वेब इंटरफ़ेस पर रीडायरेक्ट करता है.
- उपयोगकर्ता, जारी करने वाले के वेब इंटरफ़ेस में पुष्टि करता है.
- पेमेंट करने के लिए, उपयोगकर्ता स्क्रीन पर दिए गए निर्देशों का पालन करता है.
सबसे सही तरीके और ध्यान देने वाली अन्य बातें
सुरक्षा के उपाय
रीडायरेक्ट करने के अनुरोध के यूआरएल में, एन्क्रिप्ट (सुरक्षित) नहीं किया गया callbackUrl
फ़ील्ड और एन्क्रिप्ट (सुरक्षित) किया गया redirectRequest
फ़ील्ड शामिल होगा. मौजूदा लेन-देन का requestId
इन दोनों फ़ील्ड में होगा. वेंडर को इस बात की पुष्टि करनी चाहिए कि callbackUrl
और एन्क्रिप्ट (सुरक्षित) किए गए पेलोड, दोनों में requestId
एक जैसे हैं, ताकि यह पुष्टि की जा सके कि ये दोनों एक-दूसरे से जुड़े हैं.