रिसोर्स · 47

अनिश्चित पेमेंट: बिना डुप्लीकेट ऑर्डर के चेकआउट रिकवर करें

किसी एक सिग्नल को काफ़ी मानने के बजाय नेटवर्क में देरी, ब्राउज़र रिटर्न, नोटिफ़िकेशन और बिज़नेस स्टेट को मिलाएँ।

अपडेटेड · 7 min

यह गाइड क्या पाने में मदद करती है

  • कोशिश, पेमेंट और ऑर्डर को अलग करें
  • देरी से या मिसिंग रिटर्न को हैंडल करें
  • डीडुप्लीकेट नोटिफिकेशन और रिक्वेस्ट
  • यूज़र से दोबारा पेमेंट करने के लिए कहे बिना अनिश्चितता को समझाएं

जल्दी से चेक करें

  • कौन सा सोर्स पेमेंट कन्फर्म करता है?
  • क्या ब्राउज़र बंद करने से बिज़नेस स्टेट बदल जाता है?
  • क्या बार-बार होने वाले इवेंट से दो ऑर्डर तैयार होते हैं?
  • क्या इवेंट सिग्नेचर चेक किए जाते हैं?
  • सपोर्ट अनिश्चित ऑपरेशन का पता कैसे लगाता है?

स्टेप-बाय-स्टेप तरीका

  1. 1

    स्टेट्स को डिफाइन करें

    कार्ट, कोशिश, ऑथराइज़ेशन, कन्फ़र्म्ड पेमेंट, ऑर्डर और रिफ़ंड को अलग करें। ट्रांज़िशन, ऑथेंटिक सोर्स और परमिशन वाले एक्शन लिखें। असली प्रोवाइडर और पेमेंट मेथड को फ़ॉलो करें; हर मेथड तुरंत कन्फ़र्म नहीं होता।

    डिलिवरेबल: स्टेट डायग्राम और बिज़नेस कॉन्ट्रैक्ट।

  2. 2

    ऑपरेशन की पहचान करें

    किसी कोशिश को ऑर्डर और प्रोवाइडर आइडेंटिफ़ायर से कनेक्ट करें। एक ही ऑपरेशन को दोहराने के लिए डॉक्यूमेंटेड आइडेम्पोटेंसी रूल का इस्तेमाल करें। नए मकसद या बदले हुए पैरामीटर के लिए ब्लाइंड की रीयूज़ के बजाय साफ़ फ़ैसले की ज़रूरत होती है।

    डिलिवरेबल: स्टेबल आइडेंटिटी और रिकवरी रूल।

  3. 3

    ब्राउज़र रिटर्न को हैंडल करें

    प्रोवाइडर के लिए सही सर्वर-साइड चेक से स्टेट दिखाएँ। सिर्फ़ सक्सेस पेज पर रीडायरेक्ट करना पेमेंट का सबूत नहीं है। बंद ब्राउज़र, मिसिंग रिटर्न, ऑथेंटिकेशन में रुकावट और धीमे नेटवर्क को कवर करें।

    डिलिवरेबल: स्टेट के हिसाब से रिटर्न जर्नी और मैसेज।

  4. 4

    नोटिफ़िकेशन वेरिफ़ाई करें

    प्रोवाइडर डॉक्यूमेंटेशन के हिसाब से ऑथेंटिसिटी चेक करें, इवेंट आइडेंटिटी रिकॉर्ड करें और बिना डुप्लीकेट इफ़ेक्ट के रिपीट को हैंडल करें। इवेंट लेट या आउट ऑफ़ ऑर्डर हो सकते हैं। जहाँ ज़रूरत हो, इर्रिवर्सिबल ट्रांज़िशन से पहले रेफ़रेंस ऑब्जेक्ट को रिट्रीव करें।

    डिलिवरेबल: टेस्टेड हैंडलर और बैंक-डेटा-फ़्री ट्रेस।

  5. 5

    डिसक्रिपेंसी को रिकंसाइल करें

    प्रोवाइडर ऑपरेशन, ऑर्डर और फ़ुलफ़िलमेंट की तुलना करें। पेड-विदाउट-ऑर्डर, ऑर्डर-विदाउट-कन्फ़र्मेशन, डबल प्रोसेसिंग और अनप्रोपैगेटेड रिफ़ंड को अलग करें। हर डिसक्रिपेंसी को एक ओनर और प्रोसीजर दें; अनसर्टेन चार्ज को ऑटोमैटिकली रिपीट न करें।

    डिलिवरेबल: रिकंसाइलेशन क्यू और डिसीज़न।

  6. 6

    पूरी रिकवरी को टेस्ट करें

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

    डिलीवरेबल: नॉन-डुप्लिकेशन सबूत और डिप्लॉयमेंट क्राइटेरिया।

काल्पनिक काम का उदाहरण

उदाहरण वाली स्थिति

उदाहरण के लिए: पेमेंट सफल हो जाता है, लेकिन कन्फर्मेशन से पहले कस्टमर का कनेक्शन टूट जाता है और बाद में दो नोटिफिकेशन आते हैं।

फैसला और उम्मीद का सबूत

एक ऑर्डर कन्फर्म हो गया है। रिकवरी वेरिफाइड स्टेट दिखाती है, और सपोर्ट बैंक डिटेल्स मांगे बिना रेफरेंस को रिकंसाइल कर सकता है।

मैकेनिज़्म में अंतर बताएं

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

मैनेजमेंट इंडिकेटर

इंडिकेटरयह क्या मापता हैपहला एक्शन
अनिश्चित स्टेट्सतय देरी के अंदर ऑपरेशन का समाधान नहीं हुआरेफ़रेंस स्टेट चेक करें
डुप्लीकेट इफ़ेक्टऑर्डर या प्रोसेसिंग दो बार की गईबिज़नेस डीडुप्लीकेशन ठीक करें
गैप बंद किए गएफ़ैसले और सबूत के साथ केस का मिलान किया गयासबसे पुराने और ज़रूरी केस हैंडल करें

आम गलतियाँ

  • सिर्फ़ सक्सेस URL से कन्फ़र्म करना
  • टाइमआउट को पेमेंट फ़ेलियर मानना
  • मान लें कि इवेंट्स क्रम से आते हैं
  • चेक करने से पहले चार्ज दोहराना

अक्सर पूछे जाने वाले सवाल

क्या टाइमआउट का मतलब फेलियर है?

नहीं। इसका मतलब है कि देरी के अंदर रिस्पॉन्स नहीं मिला। दूसरा बनाने से पहले ऑपरेशन का स्टेट चेक करें।

क्या प्रोवाइडर आइडम्पोटेंसी काफी है?

नहीं। ऑर्डर बनाना, फुलफिलमेंट और नोटिफिकेशन को भी बिना डुप्लीकेट बिज़नेस इफ़ेक्ट के बार-बार प्रोसेसिंग को झेलना चाहिए।

यूज़र को क्या बताया जाना चाहिए?

बताएं कि वेरिफिकेशन चल रहा है, एक सेफ रेफरेंस और स्टेटस पाने का तरीका बताएं। जब पिछला पेमेंट पक्का न हो तो दूसरा पेमेंट रिक्वेस्ट करने से बचें।

ऑफ़िशियल रेफ़रेंस

रेफ़रेंस इस तरीके को सपोर्ट करते हैं। अपने कॉन्टेक्स्ट के हिसाब से चेक को एडजस्ट करें; वे सर्टिफ़िकेशन नहीं हैं। ओरिजिनल रेफ़रेंस टाइटल और सोर्स डॉक्यूमेंट दूसरी भाषा में हो सकते हैं।