कैश FOP

खास जानकारी

Google Standard Payments, कैश-आधारित एफ़ओपी (पैसे चुकाने के तरीके) की सुविधा देता है, जैसे कि किराने की दुकान से की जाने वाली खरीदारी (जैसे, 7-Eleven). बड़े लेवल पर, जो उपयोगकर्ता सामान के लिए पैसे चुकाना चाहता है वह पेमेंट इंटिग्रेटर की मदद से एक रेफ़रंस नंबर जनरेट करता है. इसके बाद, उपयोगकर्ता इस रेफ़रंस नंबर को किसी शॉपिंग स्टोर, कीऑस्क या बैंक पर ले जाता है और रेफ़रंस नंबर पर पेमेंट करता है.

पेमेंट का तरीका जोड़ें
1) उपयोगकर्ता, पेमेंट का कोई तरीका जोड़ता है
पेमेंट करने की जगह चुनें
2) इसके बाद, वह चुनता है कि पेमेंट कहां करना है
पेमेंट से जुड़े निर्देश
3) आखिर में, उसे पेमेंट करने के निर्देश दिए जाएंगे

सिद्धांत और शब्दावली

प्रतीक और सम्मेलन

इन दस्तावेज़ों में मुख्य शब्दों "करना चाहिए," "नहीं करना है," "ज़रूरी है," "करना चाहिए," "नहीं करना चाहिए", "चाहिए," "नहीं," "सुझाया गया," "किया जा सकता है", और "वैकल्पिक" का मतलब आरएफ़सी 2119 में बताए गए तरीके से समझना है.

टाइमस्टैंप वाले हिस्सों में

सभी टाइमस्टैंप, यूटीसी में Unix epoch (1 जनवरी, 1970) के बाद से मिलीसेकंड के तौर पर दिखाए जाते हैं.

उदाहरण के लिए:

  • 23 अप्रैल, 2019 रात 8:23:25 बजे जीएमटी = 1556051005000 मिलीसेकंड
  • 16 अगस्त, 2018 को दोपहर 12:28:35 बजे जीएमटी = 1534422515000 मिलीसेकंड

राशियाँ

इस एपीआई में मॉनेटरी वैल्यू, Google के स्टैंडर्ड फ़ॉर्मैट में "माइक्रो" के फ़ॉर्मैट में होती हैं. माइक्रो, पूर्णांक पर आधारित और तय सटीक फ़ॉर्मैट होते हैं. किसी मॉनेटरी वैल्यू को माइक्रो में दिखाने के लिए, स्टैंडर्ड मुद्रा की वैल्यू को 10,00,000 से गुणा करें.

उदाहरण के लिए:

  • 1.23 डॉलर = 1,230,000 माइक्रो डॉलर
  • 0.01 डॉलर = 10,000 माइक्रो डॉलर

पहचान न कर पाना

इस एपीआई में सभी मेथड कॉल का व्यवहार एक जैसा होना चाहिए. Google यह पक्का करने के लिए कभी-कभी अनुरोध करेगा कि दोनों तरफ़ लेन-देन एक ही स्थिति में हो. इंटिग्रेटर को पहले से ही प्रोसेस हो चुके किसी भी अनुरोध को फिर से प्रोसेस करने की कोशिश नहीं करनी चाहिए. इसके बजाय, प्रोसेस हो जाने के बाद के रिस्पॉन्स की रिपोर्ट की जानी चाहिए. सभी तरीकों में एक समान RequestHeader होता है, जिसमें एक requestId होता है. यह requestId सभी कॉल के लिए पहचान कुंजी है.

कोई भी बिना टर्मिनल वाला रिस्पॉन्स (जो एचटीटीपी 200 के बाद वाला वर्शन नहीं है) सही तरीके से प्रोसेस नहीं किया जाना चाहिए. इसलिए, अगर किसी अनुरोध के लिए 400 कोड (खराब अनुरोध/पहले से तय शर्त पूरी नहीं की गई है) मिला है, जिसे दूसरी बार कॉल किया जाता है, तो उसका फिर से आकलन करना ज़रूरी है. ऐसे में, गलती से 400 कोड वाली गड़बड़ी नहीं होनी चाहिए. फिर से जांचने पर, हो सकता है कि 400 कोड वाली गड़बड़ी दिखे या इसे प्रोसेस किया जा सके.

पहचान के बारे में ज़्यादा जानने के लिए, यह ज़्यादा जानकारी वाली गाइड देखें.

इंटिग्रेटर

वह कंपनी जो अपने कारोबार के लिए Google के पेमेंट प्लैटफ़ॉर्म का इस्तेमाल करती है. यह YouTube या AdWords जैसा कोई इंटरनल (1P) कारोबार हो सकता है. साथ ही, यह बाहरी (3P) कारोबार भी हो सकता है, जो Google के नेटवर्क के साथ काम करने के लिए, अपनी सेवाओं को इंटिग्रेट करना चाहता है.

एफ़ओपी

पैसे चुकाने का तरीका. यह किसी इंस्ट्रुमेंट की तुलना में ज़्यादा सामान्य है. Visa, Mastercard, और PayPal, सभी एफ़ओपी हैं.

भुगतान का माध्यम

किसी ग्राहक की ओर से पैसे चुकाने के तरीके का कोई खास मामला. उदाहरण के लिए, किसी उपयोगकर्ता का क्रेडिट कार्ड या उसका PayPal खाता. किसी ग्राहक के लिए, टोकन वाला एफ़ओपी भी एक इंस्ट्रुमेंट होता है. इसकी वजह यह है कि यह उस ग्राहक के लिए पैसे चुकाने का एक इंस्टेंस होता है, जो हमारे सिस्टम में सुरक्षित तरीके से सेव रहता है.

टोकन

Google के सिस्टम पर, किसी उपयोगकर्ता के पेमेंट के तरीके के बारे में जानकारी. इसमें खरीदारी के लिए ज़रूरी सारी जानकारी शामिल होती है. इसलिए, टोकन भी एक इंस्ट्रुमेंट है. इसमें उपयोगकर्ता के इंटिग्रेटर के पास मौजूद खाता नंबर जैसी जानकारी शामिल हो सकती है.

मुख्य फ़्लो

Google इन रेफ़रंस नंबर को बनाने और उनका पेमेंट करने के लिए, दो मुख्य फ़्लो का इस्तेमाल करता है:

  1. रेफ़रंस नंबर फ़्लो जनरेट करें.
  2. रेफ़रंस नंबर फ़्लो का पेमेंट करें.

इसके बाद, खरीदारी से जुड़े समाधान और उससे जुड़े समाधान को रेमिटेंस फ़्लो से मैनेज किया जाता है.

नीचे दिए गए डायग्राम में, इनमें से हर फ़्लो को दिखाया गया है.

कैश एफ़ओपी की खास जानकारी

कैश एफ़ओपी के हाई-लेवल की खास जानकारी

पहले दो फ़्लो के बारे में यहां ज़्यादा जानकारी दी गई है. अगर आपको उस फ़्लो के बारे में ज़्यादा जानना है, तो रेमिटेंस फ़्लो पेज देखें.

रेफ़रंस नंबर जनरेट करें

रेफ़रंस नंबर जनरेट करने के फ़्लो का मकसद, एक ऐसा आइडेंटिफ़ायर (रेफ़रंस नंबर) बनाना और उसे बदलना होता है जिसका इस्तेमाल Google और इंटिग्रेटर, दोनों किसी खरीदारी की पहचान करने के लिए कर सकें. इसके बाद, उपयोगकर्ता इस रेफ़रंस नंबर का इस्तेमाल शॉपिंग स्टोर, कीऑस्क या बैंक पर जाकर खरीदारी करने के लिए कर सकता है. इस आइडेंटिफ़ायर को Google के अनुरोध पर, इंटिग्रेटर ने generateReferenceNumber तरीके का इस्तेमाल करके जनरेट किया है. रेफ़रंस नंबर जनरेट करने के अनुरोध में, रकम और लेन-देन का ब्यौरा शामिल होता है.

इस डायग्राम में दिखाया गया है कि रेफ़रंस नंबर कैसे जनरेट किया जाता है और ग्राहक को निर्देशों के साथ कैसे भेजा जाता है.

रेफ़रंस नंबर फ़्लो जनरेट करें

कैश जनरेट करने वाला रेफ़रंस नंबर

यहां ऑब्जेक्ट की सूची दी गई है. साथ ही, यह भी बताया गया है कि वे क्या दिखाते हैं:

  • उपयोगकर्ता: वह व्यक्ति जो पैसे चुकाने के इस तरीके का इस्तेमाल करके, किसी चीज़ के लिए पैसे चुकाना चाहता है.
  • Google का यूज़र इंटरफ़ेस (यूआई): यह वह इंटरफ़ेस है जहां लोग खरीदारी करते हैं. यह वेब या किसी ऐप्लिकेशन के ज़रिए हो सकता है.
  • Google सर्वर: Google का वह बैकएंड सर्वर जो रेफ़रंस नंबर जनरेट करने का अनुरोध करता है और उपयोगकर्ता के लिए पेमेंट से जुड़े निर्देश बनाता है.
  • पेमेंट इंटीग्रेटर सर्वर: पेमेंट इंटिग्रेटर का बैकएंड सर्वर, जो पेमेंट के तरीके की जानकारी ट्रैक करता है और रेफ़रंस नंबर जनरेट करता है.

यह फ़्लो उस उपयोगकर्ता के साथ शुरू होता है जो पेमेंट के इस नकद तरीके का इस्तेमाल करना चाहता है.

  1. उपयोगकर्ता, Google के यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करता है, जो रेफ़रंस नंबर के लिए अनुरोध भेजता है.
  2. Google यूज़र इंटरफ़ेस (यूआई), Google सर्वर को यह मैसेज भेजता है कि इसे एक रेफ़रंस नंबर (getReferenceNumber) की ज़रूरत है.
  3. Google सर्वर, पेमेंट इंटीग्रेटर सर्वर से एक रेफ़रंस नंबर (generateReferenceNumber) जनरेट करने के लिए कहता है.
  4. पेमेंट इंटीग्रेटर सर्वर, रेफ़रंस नंबर जनरेट करके Google सर्वर को भेजता है.
  5. Google सर्वर, रेफ़रंस नंबर के साथ पेमेंट करने से जुड़े निर्देश बनाता है. इसके बाद, वह यह जानकारी Google यूज़र इंटरफ़ेस (यूआई) को भेजता है.
  6. Google यूज़र इंटरफ़ेस (यूआई), उपयोगकर्ता को ये निर्देश और रेफ़रंस नंबर भेजता है.

रेफ़रंस नंबर के बारे में जानकारी

रेफ़रंस नंबर के लिए, सिर्फ़ एक बार पेमेंट किया जा सकता है. साथ ही, उन्हें रद्द करने के लिए रेफ़रंस नंबर फ़्लो के ज़रिए भी रद्द किया जा सकता है. साथ ही, रेफ़रंस नंबर में अक्षर और अंक होने चाहिए और यह कई डिसप्ले फ़ॉर्मैट के साथ काम करना चाहिए.

रेफ़रंस नंबर दिखाने के अलावा, Google के यूज़र इंटरफ़ेस (यूआई) वैकल्पिक तौर पर, कोड 128 फ़ॉर्मैट (बारकोड फ़ॉर्मैट) में रेफ़रंस नंबर को दिखा सकते हैं. अनुरोध पर, बारकोड के दूसरे फ़ॉर्मैट भी इस्तेमाल किए जा सकते हैं.

पेमेंट रेफ़रंस नंबर

उपयोगकर्ता इस रेफ़रंस नंबर का इस्तेमाल शॉपिंग स्टोर, कीऑस्क या बैंक पर उस खरीदारी की पहचान करने के लिए करेगा जिसके लिए उसे पेमेंट करना है. पेमेंट करने से पहले, इंटिग्रेटर को खरीदारी की रकम, तारीख, और लेन-देन की जानकारी दिखाकर, उपयोगकर्ता से इस बात की पुष्टि करनी चाहिए कि पेमेंट किया जा रहा है.

जब उपयोगकर्ता पैसे चुकाने का विकल्प चुनता है, तो उसे पूरा पेमेंट करना होता है और सिर्फ़ एक बार पेमेंट करना होता है. यह API एक संदर्भ संख्या पर कम या ज़्यादा भुगतान का समर्थन नहीं करता. किसी एक रेफ़रंस नंबर पर कई बार पेमेंट नहीं किया जा सकता.

उपयोगकर्ता के पेमेंट करने के बाद, इंटिग्रेटर को तुरंत Google को यह सूचना देनी होगी कि इस रेफ़रंस नंबर का पेमेंट, referenceNumberPaidNotification तरीके से किया गया है. उपयोगकर्ता के पैसे चुकाने के कुछ सेकंड के अंदर ही, इस तरीके को कॉल करने से, इंटिग्रेटर की मदद से, उपयोगकर्ता अपना सामान तुरंत पा सकता है. (नेटवर्क बंद होने पर इस कॉल को सूची में जोड़ा जा सकता है.)

पेमेंट हो जाने के बाद, रेफ़रंस नंबर और रकम को T+2 दिन को भेजे गए रेमिटेंस स्टेटमेंट में शामिल किया जाएगा.

यहां एक क्रम डायग्राम दिया गया है, जिसमें रेफ़रंस नंबर का पेमेंट दिखाया गया है.

पेमेंट रेफ़रंस नंबर फ़्लो

पेमेंट रेफ़रंस नंबर फ़्लो

डायग्राम में मौजूद ऑब्जेक्ट ये दिखाते हैं:

  • उपयोगकर्ता: वह व्यक्ति जो पैसे चुकाने के इस तरीके का इस्तेमाल करके, किसी चीज़ के लिए पैसे चुकाना चाहता है.
  • सुविधा स्टोर: वह जगह जहां उपयोगकर्ता, रेफ़रंस नंबर और दिए गए निर्देशों का इस्तेमाल करके पेमेंट करता है, जैसे कि सुविधा स्टोर.
  • पेमेंट इंटीग्रेटर सर्वर: पेमेंट इंटिग्रेटर का बैकएंड सर्वर, जो पेमेंट के तरीके की जानकारी को ट्रैक करता है.
  • Google सर्वर: Google का वह बैकएंड सर्वर जो रेफ़रंस नंबर जनरेट करने का अनुरोध करता है और उपयोगकर्ता के लिए पेमेंट से जुड़े निर्देश बनाता है.

यह प्रक्रिया उस उपयोगकर्ता के लिए शुरू होती है जो दिए गए निर्देशों के मुताबिक पैसे चुकाने के लिए, शॉपिंग स्टोर पर जाता है.

  1. उपयोगकर्ता पैसे चुकाने के लिए सुविधा स्टोर पर जाता है.
  2. लेन-देन पूरा होने के बाद, सुविधा स्टोर पेमेंट इंटिग्रेटर को इसकी सूचना देता है.
  3. पेमेंट इंटीग्रेटर सर्वर, सुविधा स्टोर को सफल होने का मैसेज भेजता है.
  4. सुविधा स्टोर से पता चलता है कि उपयोगकर्ता का लेन-देन पूरा हो गया है और सामान जल्द ही उपयोगकर्ता को डिलीवर हो जाएगा.
  5. पेमेंट इंटीग्रेटर सर्वर, Google के सर्वर को यह मैसेज भेजता है कि रेफ़रंस नंबर का पेमेंट कर दिया गया है (referenceNumberPaidNotification). इस चरण की मदद से, चौथा चरण ब्लॉक नहीं होना चाहिए.
  6. Google सर्वर, पेमेंट इंटिग्रेटर सर्वर को सफल होने का मैसेज दिखाता है.

रेफ़रंस नंबर रद्द करें

Google, रेफ़रंस नंबर रद्द कर सकता है. अगर Google कोई रेफ़रंस नंबर रद्द कर देता है, तो cancelReferenceNumber तरीके पर कॉल किया जाएगा. इस कॉल के सफल होने पर, उस रेफ़रंस नंबर पर पेमेंट करना गलत माना जाता है. साथ ही, इंटिग्रेटर को इस नंबर के लिए पेमेंट अस्वीकार कर देना चाहिए. इस कॉल के पूरा होने के बाद, referenceNumberPaidNotification पर आने वाले सभी कॉल कनेक्ट नहीं हो पाएंगे.

अगर पैसे चुकाने की प्रोसेस पहले ही शुरू हो चुकी है, तो उदाहरण के लिए, अगर उपयोगकर्ता ने कीऑस्क में अपनी रेफ़रंस नंबर डाली है, लेकिन पेमेंट नहीं किया है, तो इंटिग्रेटर को एक HTTP 423 रिस्पॉन्स कोड, कराना चाहिए. साथ ही, जिस स्थिति में USER_ACTION_IN_PROGRESS शामिल है उस परको निकलना चाहिए.

अगला: रेमिटेंस फ़्लो