
हमारा वेबहुक कार्यान्वयन Standard Webhooks विनिर्देशन का पालन करता है, जिससे उद्योग की सर्वोत्तम प्रथाओं और मौजूदा वेबहुक लाइब्रेरीज़ के साथ संगतता सुनिश्चित होती है।
मुख्य विशेषताएँ
Real-time Delivery
घटनाएं घटने पर तुरंत सूचनाएं प्राप्त करें
Secure by Default
HMAC SHA256 हस्ताक्ष्य सत्यापन शामिल है
Automatic Retries
घातीय बैकऑफ़ के साथ निर्मित पुनः प्रयास लॉजिक
Event Filtering
केवल उन घटनाओं की सदस्यता लें जिनकी आपको आवश्यकता है
प्रारंभ करना
Select Events to Receive
उस ईवेंट सूची से चुनकर अपने वेबहुक एंडपॉइंट को किन विशिष्ट घटनाओं को सुनना चाहिए, तय करें।
Get Secret Key
सेटिंग्स पेज से अपना वेबहुक
Secret Key प्राप्त करें। आप इसका उपयोग प्राप्त वेबहुक की प्रामाणिकता सत्यापित करने के लिए करेंगे।सदस्यता ली गई घटनाओं को कॉन्फ़िगर करना
आप प्रत्येक वेबहुक एंडपॉइंट के लिए प्राप्त करने के लिए विशिष्ट घटनाओं को कॉन्फ़िगर कर सकते हैं।घटना कॉन्फ़िगरेशन तक पहुँचना
Navigate to Webhook Details
अपने Dodo Payments डैशबोर्ड पर जाएं और
Settings > Webhooks पर नेविगेट करें।घटना सदस्यताओं का प्रबंधन
View Available Events
इंटरफ़ेस सभी उपलब्ध वेबहुक घटनाओं को एक पदानुक्रमिक संरचना में प्रदर्शित करता है। घटनाएँ श्रेणी द्वारा समूहबद्ध होती हैं (जैसे
dispute, payment, subscription)।Select Events
उन घटनाओं के बगल में मौजूद बॉक्स को चेक करें जिन्हें आप प्राप्त करना चाहते हैं। आप:
- व्यक्तिगत उप-घटनाएं चुन सकते हैं (जैसे
dispute.accepted,dispute.challenged) - संबंधित सभी उप-घटनाओं को प्राप्त करने के लिए माता घटनाओं का चयन कर सकते हैं
- अपनी ज़रूरत के अनुसार विशिष्ट घटनाओं को मिलाकर चुन सकते हैं
Review Event Details
प्रत्येक घटना के बगल में सूचना आइकन (ⓘ) पर होवर करके देखें कि वह घटना कब ट्रिगर होती है।
वेबहुक वितरण
टाइमआउट
वेबहुक्स के लिए 15-सेकंड का टाइमआउट विंडो है, जो कनेक्शन और पढ़ने के संचालन दोनों के लिए है। सुनिश्चित करें कि आपका एंडपॉइंट जल्दी प्रतिक्रिया करता है ताकि टाइमआउट से बचा जा सके।स्वचालित पुनः प्रयास
यदि वेबहुक वितरण विफल हो जाता है, तो Dodo Payments स्वचालित रूप से गुणनात्मक बैकऑफ के साथ पुनः प्रयास करता है ताकि आपके सिस्टम को अधिक बोझ न डाला जा सके।| प्रयास | देरी | विवरण |
|---|---|---|
| 1 | तुरंत | पहला पुनः प्रयास तुरंत होता है |
| 2 | 5 सेकंड | थोड़ी देरी के बाद दूसरा प्रयास |
| 3 | 5 मिनट | बढ़ी हुई बैकऑफ के साथ तीसरा प्रयास |
| 4 | 30 मिनट | चौथा प्रयास जारी बैकऑफ |
| 5 | 2 घंटे | विस्तारित देरी के साथ पाँचवाँ प्रयास |
| 6 | 5 घंटे | लंबे समय तक देरी के साथ छठा प्रयास |
| 7 | 10 घंटे | अधिकतम देरी के साथ सातवाँ प्रयास |
| 8 | 10 घंटे | अंतिम प्रयास - यदि असफल होता है तो वेबहुक को विफल के रूप में चिह्नित किया जाएगा |
प्रति वेबहुक घटना अधिकतम 8 पुनः प्रयास होते हैं। उदाहरण के लिए, यदि एक वेबहुक तीन बार विफल होने के बाद सफल होता है, तो पहली कोशिश से लगभग 35 मिनट 5 सेकंड तक कुल डिलीवरी समय होता है।
आइडेम्पोटेंसी
प्रत्येक वेबहुक घटना में एक अनूठाwebhook-id हेडर शामिल होता है। इस पहचानकर्ता का उपयोग इडेम्पोटेंसी लागू करने और डुप्लिकेट प्रोसेसिंग को रोकने के लिए करें।
घटना क्रमबद्धता
वेबहुक घटनाएँ पुनः प्रयासों या नेटवर्क स्थितियों के कारण क्रमबद्धता से बाहर आ सकती हैं। अपने सिस्टम को किसी भी अनुक्रम में घटनाओं को संभालने के लिए डिज़ाइन करें।आपको डिलीवरी के समय नवीनतम पेलोड प्राप्त होगा, चाहे वेबहुक घटना मूल रूप से कब जारी की गई थी।
वेबहुक्स को सुरक्षित करना
अपने वेबहुक्स की सुरक्षा सुनिश्चित करने के लिए, हमेशा पेलोड को मान्य करें और HTTPS का उपयोग करें।हस्ताक्षरों की पुष्टि करना
प्रत्येक वेबहुक अनुरोध में एकwebhook-signature हेडर शामिल होता है, जो वेबहुक पेलोड और टाइमस्टैम्प का HMAC SHA256 हस्ताक्ष्य होता है, जो आपके सीक्रेट कुंजी के साथ साइन किया गया होता है।
SDK सत्यापन (सिफारिश की गई)
सभी आधिकारिक SDK में आने वाले वेबहुक को सुरक्षित रूप से मान्य और पार्स करने के लिए अंतर्निहित सहायक शामिल हैं। दो विधियाँ उपलब्ध हैं:unwrap(): आपके वेबहुक सीक्रेट कुंजी का उपयोग करके हस्ताक्ष्य सत्यापित करता हैunsafe_unwrap(): सत्यापन के बिना पेलोड पार्स करता है
मैन्युअल सत्यापन (वैकल्पिक)
यदि आप SDK का उपयोग नहीं कर रहे हैं, तो आप स्वयं हस्ताक्षरों की पुष्टि कर सकते हैं, मानक वेबहुक विनिर्देशन का पालन करते हुए:webhook-id,webhook-timestamp, और ठीक उसी कच्चे स्ट्रिंगफ़ाइडpayloadको बिंदुओं (.) से अलग करके जोड़कर साइन किए गए संदेश का निर्माण करें।- उस स्ट्रिंग का HMAC SHA256 आपके डैशबोर्ड से प्राप्त वेबहुक सीक्रेट कुंजी का उपयोग करके निकालें।
- गणना किए गए हस्ताक्ष्य की तुलना
webhook-signatureहेडर से करें। यदि वे मेल खाते हैं, तो वेबहुक प्रामाणिक है।
हम Standard Webhooks स्पेसिफिकेशन का पालन करते हैं। आप उनके लाइब्रेरीज़ का उपयोग हस्ताक्ष्य सत्यापित करने के लिए कर सकते हैं: https://github.com/standard-webhooks/standard-webhooks/tree/main/libraries। ईवेंट पेलोड प्रारूपों के लिए Webhook Payload देखें।
वेबहुक्स का उत्तर देना
- आपका वेबहुक हैंडलर घटना की प्राप्ति स्वीकार करने के लिए
2xx status codeलौटाना चाहिए। - कोई अन्य प्रतिक्रिया विफलता के रूप में मानी जाएगी, और वेबहुक को पुनः प्रयास किया जाएगा।
सर्वोत्तम प्रथाएँ
Use HTTPS endpoints only
Use HTTPS endpoints only
हमेशा वेबहुक एंडपॉइंट के लिए HTTPS URL का उपयोग करें। HTTP एंडपॉइंट मैन-इन-द-मिडल हमलों के प्रति संवेदनशील होते हैं और आपके वेबहुक डेटा को उजागर करते हैं।
Respond immediately
Respond immediately
वेबहुक प्राप्त करते ही तुरंत
200 स्थिति कोड लौटाएँ। समय सीमा से बचने के लिए घटना को असिंक्रोनस रूप से प्रोसेस करें।Handle duplicate events
Handle duplicate events
webhook-id हेडर का उपयोग करके इडेम्पोटेंसी लागू करें ताकि एक ही घटना को कई बार प्रोसेस करते समय कोई साइड इफेक्ट न हो।Secure your webhook secret
Secure your webhook secret
अपने वेबहुक सीक्रेट को एनवायरनमेंट वेरिएबल या किसी सीक्रेट मैनेजर में सुरक्षित रूप से रखें। सीक्रेट्स को संस्करण नियंत्रण में कभी भी कमिट न करें।
वेबहुक पेलोड संरचना
वेबहुक पेलोड संरचना को समझना आपको घटनाओं को सही ढंग से पार्स और संसाधित करने में मदद करता है।अनुरोध प्रारूप
हेडर
इस वेबहुक घटना के लिए अनूठा पहचानकर्ता। इडेम्पोटेंसी जांचों के लिए इसका उपयोग करें।
वेबहुक प्रामाणिकता सत्यापित करने के लिए HMAC SHA256 हस्ताक्ष्य।
वेबहुक भेजे जाने के समय का Unix टाइमस्टैम्प (सेकंड में)।
अनुरोध शरीर
आपका Dodo Payments व्यवसाय पहचानकर्ता।
payment.succeeded, subscription.active).
घटना कब हुई, इसका ISO 8601 स्वरूपित टाइमस्टैम्प।
घटना-विशिष्ट पेलोड जिसमें घटना की विस्तृत जानकारी होती है।
उदाहरण पेलोड
Event Types
सभी उपलब्ध वेबहुक घटना प्रकार ब्राउज़ करें
Event Payloads
प्रत्येक घटना के लिए विस्तृत पेलोड स्कीमाएँ देखें
वेबहुक्स का परीक्षण करना
आप अपने वेबहुक एकीकरण का परीक्षण Dodo Payments डैशबोर्ड से सीधे कर सकते हैं ताकि यह सुनिश्चित हो सके कि आपका एंडपॉइंट सही ढंग से काम कर रहा है।
परीक्षण इंटरफ़ेस तक पहुँचना
अपने वेबहुक का परीक्षण करना
परीक्षण इंटरफ़ेस आपके वेबहुक एंडपॉइंट का परीक्षण करने का एक व्यापक तरीका प्रदान करता है:Select Event Type
उस विशिष्ट ईवेंट प्रकार का चयन करने के लिए ड्रॉपडाउन मेनू का उपयोग करें जिसे आप परीक्षण करना चाहते हैं (उदा.
payment.succeeded, payment.failed, आदि)।ड्रॉपडाउन में आपके एंडपॉइंट द्वारा प्राप्त किए जा सकने वाले सभी उपलब्ध वेबहुक ईवेंट प्रकार शामिल हैं।
Review Schema and Example
इंटरफ़ेस चयनित ईवेंट प्रकार के लिए Schema (डेटा संरचना) और Example (नमूना पेलोड) दोनों दिखाता है।
अपने परीक्षण की पुष्टि करना
Check Your Endpoint
अपने वेबहुक एंडपॉइंट लॉग्स की निगरानी करें ताकि पुष्टि हो सके कि परीक्षण ईवेंट प्राप्त हुआ।
Verify Signature
सुनिश्चित करें कि परीक्षण पेलोड के साथ आपका हस्ताक्ष्य सत्यापन सही ढंग से काम कर रहा है।
कार्यान्वयन उदाहरण
यहाँ एक पूर्ण Express.js कार्यान्वयन है जो वेबहुक सत्यापन और हैंडलिंग को दिखाता है:CLI के साथ वेबहुक का परीक्षण
The Dodo Payments CLI स्थानीय विकास के दौरान टर्मिनल छोड़े बिना वेबहुक का परीक्षण करने के लिए दो कमांड प्रदान करता है।स्थानीय रूप से लाइव वेबहुक सुनें
अपने टेस्ट मोड खाते से वास्तविक वेबहुक घटनाओं को रीयल-टाइम में अपने स्थानीय विकास सर्वर पर आगे भेजें:http://localhost:3000/webhook), preserving all headers including signature headers for verification testing.
लिसनर केवल test mode API keys के साथ काम करता है। इस कमांड का उपयोग करने से पहले
dodo login चलाएँ और Test Mode चुनें।नकली वेबहुक घटनाओं को ट्रिगर करें
किसी भी एंडपॉइंट को वास्तविक लेन-देन बनाए बिना नकली वेबहुक पेलोड भेजें:CLI Webhook Testing Docs
पूरी CLI वेबहुक परीक्षण दस्तावेज़ देखें
उन्नत सेटिंग्स
Advanced Settings टैब आपके वेबहुक एंडपॉइंट व्यवहार को बारीकी से समायोजित करने के लिए अतिरिक्त कॉन्फ़िगरेशन विकल्प प्रदान करता है।दर सीमांकन (थ्रॉटलिंग)
अपने सिस्टम को ज़्यादा लोड से बचाने के लिए यह नियंत्रित करें कि आपके एंडपॉइंट को वेबहुक घटनाएँ कितनी तेजी से डिलीवर हों।Configure Rate Limit
दर सीमांकन सेटिंग्स को संशोधित करने के लिए Edit बटन पर क्लिक करें।
डिफ़ॉल्ट रूप से, वेबहुक पर “No rate limit” लागू होता है, जिसका अर्थ है कि घटनाएँ जैसे ही होती हैं, उन्हें तुरंत डिलीवर कर दिया जाता है।
कस्टम हेडर
अपने एंडपॉइंट को भेजे जाने वाले सभी वेबहुक अनुरोधों में कस्टम HTTP हेडर जोड़ें। यह प्रमाणीकरण, रूटिंग या मेटाडेटा जोड़ने के लिए उपयोगी होता है।ट्रांसफ़ॉर्मेशन
ट्रांसफ़ॉर्मेशन आपको वेबहुक के पेलोड को संशोधित करने और इसे एक अलग URL पर रीडायरेक्ट करने की अनुमति देते हैं। यह शक्तिशाली सुविधा आपको निम्न कार्य करने देती है:- प्रोसेसिंग से पहले पेलोड संरचना को संशोधित करें
- सामग्री के आधार पर वेबहुक को विभिन्न एंडपॉइंट्स पर रूट करें
- पेलोड से फील्ड्स जोड़ें या हटाएं
- डेटा फ़ॉर्मैट बदलें
Configure Transformation
ट्रांसफ़ॉर्मेशन नियमों को परिभाषित करने के लिए Edit transformation पर क्लिक करें।
आप वेबहुक पेलोड को ट्रांसफ़ॉर्म करने और एक अलग लक्ष्य URL निर्दिष्ट करने के लिए JavaScript का उपयोग कर सकते हैं।
वेबहुक लॉग्स की मॉनिटरिंग
Logs टैब आपको वेबहुक डिलीवरी स्थिति पर व्यापक दृश्यता प्रदान करता है, जिससे आप वेबहुक घटनाओं की निगरानी, डिबग और प्रबंधन प्रभावी ढंग से कर सकते हैं।
गतिविधि मॉनिटरिंग
Activity टैब दृश्यात्मक एनालिटिक्स के साथ आपके वेबहुक डिलीवरी प्रदर्शन में रीयल-टाइम इनसाइट देता है।
ईमेल अलर्ट्स
स्वचालित ईमेल सूचनाओं के साथ अपने वेबहुक हेल्थ के बारे में सूचित रहें। जब वेबहुक डिलीवरी विफल होने लगती है या आपका एंडपॉइंट जवाब देना बंद कर देता है, तब आपको ईमेल अलर्ट मिलेंगे ताकि आप समस्याओं को जल्दी संबोधित करके अपनी इंटीग्रेशन को सुचारू रूप से चला सकें।
ईमेल अलर्ट्स सक्षम करें
Navigate to Alerting Settings
अपने Dodo Payments डैशबोर्ड पर जाएं और Dashboard → Webhooks → Alerting पर नेविगेट करें।
Enable Email Notifications
Email notifications को चालू करें ताकि वेबहुक डिलीवरी समस्याओं के बारे में अलर्ट मिलना शुरू हो जाए।
क्लाउड प्लेटफ़ॉर्म पर डिप्लॉय करें
क्या आप अपने वेबहुक हैंडलर को प्रोडक्शन में डिप्लॉय करने के लिए तैयार हैं? हम आपको लोकप्रिय क्लाउड प्रदाताओं के लिए प्लेटफ़ॉर्म-विशिष्ट गाइड प्रदान करते हैं, प्रत्येक प्लेटफ़ॉर्म के लिए सर्वोत्तम प्रथाओं के साथ।Vercel
Vercel पर सर्वरलेस फ़ंक्शंस के साथ वेबहुक डिप्लॉय करें
Cloudflare Workers
Cloudflare के एज नेटवर्क पर वेबहुक चलाएँ
Supabase Edge Functions
Supabase के साथ वेबहुक एकीकृत करें
Netlify Functions
Netlify सर्वरलेस फ़ंक्शंस के रूप में वेबहुक डिप्लॉय करें
प्रत्येक प्लेटफ़ॉर्म गाइड में उस प्रदाता के लिए विशिष्ट वातावरण सेटअप, हस्ताक्ष्य सत्यापन और डिप्लॉयमेंट चरण शामिल होते हैं।
