
हमारा वेबहुक कार्यान्वयन Standard Webhooks विनिर्देशन का पालन करता है, जो उद्योग के सर्वोत्तम प्रथाओं और मौजूदा वेबहुक पुस्तकालयों के साथ संगतता सुनिश्चित करता है।
मुख्य विशेषताएँ
वास्तविक समय में वितरण
घटनाएँ होने पर तात्कालिक सूचनाएँ प्राप्त करें
डिफ़ॉल्ट रूप से सुरक्षित
HMAC SHA256 हस्ताक्षर सत्यापन शामिल है
स्वचालित पुनः प्रयास
गुणनात्मक बैकऑफ के साथ अंतर्निहित पुनः प्रयास तर्क
घटना फ़िल्टरिंग
केवल उन घटनाओं की सदस्यता लें जिनकी आपको आवश्यकता है
प्रारंभ करना
प्राप्त करने के लिए घटनाएँ चुनें
घटना सूची से उन विशिष्ट घटनाओं का चयन करें जिनके लिए आपका वेबहुक एंडपॉइंट सुनना चाहिए।
गुप्त कुंजी प्राप्त करें
सेटिंग्स पृष्ठ से अपनी webhook
Secret Key प्राप्त करें। आप इसका उपयोग प्राप्त वेबहुक की प्रामाणिकता की पुष्टि करने के लिए करेंगे।सदस्यता ली गई घटनाओं को कॉन्फ़िगर करना
आप प्रत्येक वेबहुक एंडपॉइंट के लिए प्राप्त करने के लिए विशिष्ट घटनाओं को कॉन्फ़िगर कर सकते हैं।घटना कॉन्फ़िगरेशन तक पहुँचना
घटना सदस्यताओं का प्रबंधन
उपलब्ध घटनाएँ देखें
इंटरफ़ेस सभी उपलब्ध webhook घटनाओं को एक पदानुक्रमित संरचना में प्रदर्शित करता है। घटनाएँ श्रेणी के अनुसार समूहित की गई हैं (जैसे,
dispute, payment, subscription).खोजें और फ़िल्टर करें
घटना नाम या कीवर्ड टाइप करके विशिष्ट घटनाओं को जल्दी से खोजने के लिए खोज बार का उपयोग करें।
घटनाएँ चुनें
उन घटनाओं के बगल में स्थित बॉक्सों को चेक करें जिन्हें आप प्राप्त करना चाहते हैं। आप:
- व्यक्तिगत उप-घटनाएँ चुन सकते हैं (जैसे,
dispute.accepted,dispute.challenged) - सभी संबंधित उप-घटनाएँ प्राप्त करने के लिए माता-पिता की घटनाएँ चुन सकते हैं
- अपनी आवश्यकताओं के आधार पर विशिष्ट घटनाओं को मिलाकर चुन सकते हैं
घटना विवरण की समीक्षा करें
प्रत्येक घटना के बगल में जानकारी आइकन (ⓘ) पर होवर करें ताकि यह देखा जा सके कि वह घटना कब सक्रिय होती है।
वेबहुक वितरण
टाइमआउट
वेबहुक्स के लिए 15-सेकंड का टाइमआउट विंडो है, जो कनेक्शन और पढ़ने के संचालन दोनों के लिए है। सुनिश्चित करें कि आपका एंडपॉइंट जल्दी प्रतिक्रिया करता है ताकि टाइमआउट से बचा जा सके।स्वचालित पुनः प्रयास
यदि वेबहुक वितरण विफल हो जाता है, तो Dodo Payments स्वचालित रूप से गुणनात्मक बैकऑफ के साथ पुनः प्रयास करता है ताकि आपके सिस्टम को अधिक बोझ न डाला जा सके।| प्रयास | देरी | विवरण |
|---|---|---|
| 1 | तुरंत | पहला पुनः प्रयास तुरंत होता है |
| 2 | 5 सेकंड | थोड़ी देरी के बाद दूसरा प्रयास |
| 3 | 5 मिनट | बढ़ी हुई बैकऑफ के साथ तीसरा प्रयास |
| 4 | 30 मिनट | चौथा प्रयास जारी बैकऑफ |
| 5 | 2 घंटे | विस्तारित देरी के साथ पाँचवाँ प्रयास |
| 6 | 5 घंटे | लंबे समय तक देरी के साथ छठा प्रयास |
| 7 | 10 घंटे | अधिकतम देरी के साथ सातवाँ प्रयास |
| 8 | 10 घंटे | अंतिम प्रयास - यदि असफल होता है तो वेबहुक को विफल के रूप में चिह्नित किया जाएगा |
प्रत्येक वेबहुक घटना के लिए अधिकतम 8 पुनः प्रयास। उदाहरण के लिए, यदि एक वेबहुक तीन बार विफल होने के बाद सफल होता है, तो कुल वितरण समय पहले प्रयास से लगभग 35 मिनट और 5 सेकंड होगा।
आइडेम्पोटेंसी
प्रत्येक webhook घटना में एक अद्वितीयwebhook-id हेडर शामिल होता है। इस पहचानकर्ता का उपयोग idempotency लागू करने और डुप्लिकेट प्रसंस्करण को रोकने के लिए करें।
घटना क्रमबद्धता
वेबहुक घटनाएँ पुनः प्रयासों या नेटवर्क स्थितियों के कारण क्रमबद्धता से बाहर आ सकती हैं। अपने सिस्टम को किसी भी अनुक्रम में घटनाओं को संभालने के लिए डिज़ाइन करें।आपको वितरण के समय नवीनतम पेलोड प्राप्त होगा, चाहे वेबहुक घटना मूल रूप से कब उत्पन्न हुई थी।
वेबहुक्स को सुरक्षित करना
अपने वेबहुक्स की सुरक्षा सुनिश्चित करने के लिए, हमेशा पेलोड को मान्य करें और HTTPS का उपयोग करें।हस्ताक्षरों की पुष्टि करना
प्रत्येक webhook अनुरोध में एकwebhook-signature हेडर, webhook payload और timestamp का HMAC SHA256 हस्ताक्षर शामिल होता है, जो आपकी गुप्त कुंजी के साथ हस्ताक्षरित होता है।
SDK सत्यापन (सिफारिश की गई)
सभी आधिकारिक SDK में आने वाले वेबहुक को सुरक्षित रूप से मान्य और पार्स करने के लिए अंतर्निहित सहायक शामिल हैं। दो विधियाँ उपलब्ध हैं:unwrap(): आपकी webhook गुप्त कुंजी का उपयोग करके हस्ताक्षरों की पुष्टि करता हैunsafe_unwrap(): बिना पुष्टि के payload को पार्स करता है
मैन्युअल सत्यापन (वैकल्पिक)
यदि आप SDK का उपयोग नहीं कर रहे हैं, तो आप स्वयं हस्ताक्षरों की पुष्टि कर सकते हैं, मानक वेबहुक विनिर्देशन का पालन करते हुए:webhook-id,webhook-timestamp, और सटीक कच्चे स्ट्रिंगिफाइडpayloadको अवधि (.) द्वारा अलग करके जोड़कर हस्ताक्षरित संदेश बनाएं।- डैशबोर्ड से अपनी webhook गुप्त कुंजी का उपयोग करके उस स्ट्रिंग का HMAC SHA256 गणना करें।
- गणना की गई हस्ताक्षर की तुलना
webhook-signatureहेडर से करें। यदि वे मेल खाते हैं, तो webhook प्रामाणिक है।
हम मानक वेबहुक विनिर्देशन का पालन करते हैं। आप हस्ताक्षरों की पुष्टि करने के लिए उनके पुस्तकालयों का उपयोग कर सकते हैं: https://github.com/standard-webhooks/standard-webhooks/tree/main/libraries। घटना पेलोड प्रारूपों के लिए, वेबहुक पेलोड देखें।
वेबहुक्स का उत्तर देना
- आपकी webhook हैंडलर को घटना की प्राप्ति की स्वीकृति देने के लिए एक
2xx status codeलौटाना चाहिए। - कोई अन्य प्रतिक्रिया विफलता के रूप में मानी जाएगी, और webhook को फिर से प्रयास किया जाएगा।
सर्वोत्तम प्रथाएँ
केवल HTTPS एंडपॉइंट का उपयोग करें
केवल HTTPS एंडपॉइंट का उपयोग करें
हमेशा वेबहुक एंडपॉइंट के लिए HTTPS URL का उपयोग करें। HTTP एंडपॉइंट मैन-इन-द-मिडल हमलों के प्रति संवेदनशील होते हैं और आपके वेबहुक डेटा को उजागर करते हैं।
तुरंत प्रतिक्रिया दें
तुरंत प्रतिक्रिया दें
वेबहुक प्राप्त करने पर तुरंत एक
200 स्थिति कोड लौटाएँ। समय सीमा से बचने के लिए घटना को असिंक्रोनस रूप से संसाधित करें।डुप्लिकेट घटनाओं को संभालें
डुप्लिकेट घटनाओं को संभालें
बिना साइड इफेक्ट के एक ही घटना को कई बार सुरक्षित रूप से संसाधित करने के लिए
webhook-id हेडर का उपयोग करके idempotency लागू करें।अपनी वेबहुक गुप्त को सुरक्षित रखें
अपनी वेबहुक गुप्त को सुरक्षित रखें
अपनी वेबहुक गुप्त को सुरक्षित रूप से पर्यावरण चर या एक गुप्त प्रबंधक का उपयोग करके संग्रहीत करें। कभी भी गुप्त को संस्करण नियंत्रण में न डालें।
वेबहुक पेलोड संरचना
वेबहुक पेलोड संरचना को समझना आपको घटनाओं को सही ढंग से पार्स और संसाधित करने में मदद करता है।अनुरोध प्रारूप
हेडर
इस वेबहुक घटना के लिए अद्वितीय पहचानकर्ता। आइडेम्पोटेंसी जांच के लिए इसका उपयोग करें।
वेबहुक प्रामाणिकता की पुष्टि के लिए HMAC SHA256 हस्ताक्षर।
जब वेबहुक भेजा गया था तब का यूनिक्स टाइमस्टैम्प (सेकंड में)।
अनुरोध शरीर
आपका Dodo Payments व्यवसाय पहचानकर्ता।
इस webhook को ट्रिगर करने वाली घटना का प्रकार (जैसे,
payment.succeeded, subscription.created).घटना होने का ISO 8601 प्रारूपित टाइमस्टैम्प।
घटना-विशिष्ट पेलोड जिसमें घटना के बारे में विस्तृत जानकारी शामिल है।
उदाहरण पेलोड
घटना प्रकार
सभी उपलब्ध वेबहुक घटना प्रकारों को ब्राउज़ करें
घटना पेलोड
प्रत्येक घटना के लिए विस्तृत पेलोड स्कीमाओं को देखें
वेबहुक्स का परीक्षण करना
आप अपने वेबहुक एकीकरण का परीक्षण Dodo Payments डैशबोर्ड से सीधे कर सकते हैं ताकि यह सुनिश्चित हो सके कि आपका एंडपॉइंट सही ढंग से काम कर रहा है।
परीक्षण इंटरफ़ेस तक पहुँचना
अपने वेबहुक का परीक्षण करना
परीक्षण इंटरफ़ेस आपके वेबहुक एंडपॉइंट का परीक्षण करने का एक व्यापक तरीका प्रदान करता है:घटना प्रकार चुनें
परीक्षण के लिए आप जिस विशेष घटना प्रकार को चुनना चाहते हैं, उसे चुनने के लिए ड्रॉपडाउन मेनू का उपयोग करें (जैसे,
payment.succeeded, payment.failed, आदि)।ड्रॉपडाउन में सभी उपलब्ध webhook घटना प्रकार होते हैं जिन्हें आपका endpoint प्राप्त कर सकता है।
स्कीमा और उदाहरण की समीक्षा करें
इंटरफ़ेस चयनित घटना प्रकार के लिए स्कीमा (डेटा संरचना) और उदाहरण (नमूना पेलोड) दोनों प्रदर्शित करता है।
अपने परीक्षण की पुष्टि करना
अपने एंडपॉइंट की जाँच करें
परीक्षण घटना प्राप्त होने की पुष्टि करने के लिए अपने वेबहुक एंडपॉइंट लॉग की निगरानी करें।
हस्ताक्षर की पुष्टि करें
सुनिश्चित करें कि आपका हस्ताक्षर सत्यापन परीक्षण पेलोड के साथ सही ढंग से काम कर रहा है।
कार्यान्वयन उदाहरण
यहाँ एक पूर्ण Express.js कार्यान्वयन है जो वेबहुक सत्यापन और हैंडलिंग को दिखाता है:उन्नत सेटिंग्स
उन्नत सेटिंग्स टैब आपके वेबहुक एंडपॉइंट व्यवहार को ठीक करने के लिए अतिरिक्त कॉन्फ़िगरेशन विकल्प प्रदान करता है।दर सीमा (थ्रॉटलिंग)
अपने सिस्टम को अधिक बोझ से बचाने के लिए अपने एंडपॉइंट पर वेबहुक घटनाओं के वितरण की दर को नियंत्रित करें।दर सीमा कॉन्फ़िगर करें
दर सीमा सेटिंग्स को संशोधित करने के लिए संपादित करें बटन पर क्लिक करें।
डिफ़ॉल्ट रूप से, वेबहुक्स पर “कोई दर सीमा” लागू होती है, जिसका अर्थ है कि घटनाएँ जैसे ही होती हैं वितरित की जाती हैं।
कस्टम हेडर
अपने एंडपॉइंट पर भेजे गए सभी वेबहुक अनुरोधों में कस्टम HTTP हेडर जोड़ें। यह प्रमाणीकरण, रूटिंग, या आपके वेबहुक अनुरोधों में मेटाडेटा जोड़ने के लिए उपयोगी है।रूपांतरण
रूपांतरण आपको एक वेबहुक के पेलोड को संशोधित करने और इसे एक अलग URL पर पुनर्निर्देशित करने की अनुमति देता है। यह शक्तिशाली विशेषता आपको सक्षम बनाती है:- प्रसंस्करण से पहले पेलोड संरचना को संशोधित करें
- सामग्री के आधार पर वेबहुक को विभिन्न एंडपॉइंट पर रूट करें
- पेलोड से फ़ील्ड जोड़ें या हटाएँ
- डेटा प्रारूपों को परिवर्तित करें
रूपांतरण कॉन्फ़िगर करें
अपने रूपांतरण नियमों को परिभाषित करने के लिए रूपांतरण संपादित करें पर क्लिक करें।
आप वेबहुक पेलोड को परिवर्तित करने और एक अलग लक्ष्य URL निर्दिष्ट करने के लिए JavaScript का उपयोग कर सकते हैं।
वेबहुक लॉग की निगरानी
लॉग टैब आपके वेबहुक वितरण स्थिति में व्यापक दृश्यता प्रदान करता है, जिससे आप वेबहुक घटनाओं की प्रभावी ढंग से निगरानी, डिबग और प्रबंधन कर सकते हैं।
गतिविधि निगरानी
गतिविधि टैब आपके वेबहुक वितरण प्रदर्शन के बारे में वास्तविक समय की अंतर्दृष्टि प्रदान करता है, जिसमें दृश्य विश्लेषण शामिल है।
ईमेल अलर्ट
अपने वेबहुक स्वास्थ्य के बारे में स्वचालित ईमेल सूचनाओं के साथ सूचित रहें। जब वेबहुक वितरण विफल होने लगते हैं या आपका एंडपॉइंट प्रतिक्रिया देना बंद कर देता है, तो आपको ईमेल अलर्ट प्राप्त होंगे ताकि आप जल्दी से समस्याओं को संबोधित कर सकें और अपने एकीकरण को सुचारू रूप से चलाते रह सकें।
ईमेल अलर्ट सक्षम करें
अलर्ट सेटिंग्स पर जाएँ
अपने Dodo Payments डैशबोर्ड पर जाएँ और डैशबोर्ड → वेबहुक्स → अलर्टिंग पर जाएँ।
ईमेल सूचनाएँ सक्षम करें
वेबहुक वितरण समस्याओं के बारे में अलर्ट प्राप्त करना शुरू करने के लिए ईमेल सूचनाएँ को चालू करें।
क्लाउड प्लेटफ़ॉर्म पर तैनात करें
क्या आप अपने वेबहुक हैंडलर को उत्पादन में तैनात करने के लिए तैयार हैं? हम लोकप्रिय क्लाउड प्रदाताओं के लिए सर्वश्रेष्ठ प्रथाओं के साथ वेबहुक्स को तैनात करने में मदद करने के लिए प्लेटफ़ॉर्म-विशिष्ट गाइड प्रदान करते हैं।Vercel
सर्वर रहित कार्यों के साथ Vercel पर वेबहुक्स तैनात करें
Cloudflare Workers
Cloudflare के एज नेटवर्क पर वेबहुक्स चलाएँ
Supabase Edge Functions
Supabase के साथ वेबहुक्स का एकीकरण करें
Netlify Functions
Netlify सर्वर रहित कार्यों के रूप में वेबहुक्स तैनात करें
प्रत्येक प्लेटफ़ॉर्म गाइड में पर्यावरण सेटअप, हस्ताक्षर सत्यापन, और उस प्रदाता के लिए विशिष्ट तैनाती चरण शामिल हैं।
