Dodo Payments में घटनाएँ होने पर रीयल-टाइम सूचनाएँ प्राप्त करें। वर्कफ़्लो को स्वचालित करें और तुरंत event delivery के साथ अपने सिस्टम को synchronized रखें।
Webhooks आपके Dodo Payments account में विशिष्ट घटनाएँ होने पर रीयल-टाइम सूचनाएँ प्रदान करते हैं। वर्कफ़्लो को स्वचालित करने, अपने database को अपडेट करने, सूचनाएँ भेजने और अपने सिस्टम को synchronized रखने के लिए webhooks का उपयोग करें।
हमारा webhook implementation Standard Webhooks specification का पालन करता है, जिससे industry best practices और मौजूदा webhook libraries के साथ compatibility सुनिश्चित होती है।
DodoPayments Dashboard पर जाएँ और Developer > Webhooks पर जाएँ।
2
Create Webhook Endpoint
नया webhook endpoint बनाने के लिए Add Webhook पर क्लिक करें।
3
Add Endpoint URL
वह URL दर्ज करें जहाँ आप webhook events प्राप्त करना चाहते हैं।
4
Select Events to Receive
event list से उन्हें चुनकर वे विशिष्ट events चुनें जिन्हें आपका webhook endpoint सुने।
केवल चुने गए events आपके endpoint पर webhooks trigger करेंगे, जिससे अनावश्यक traffic और processing से बचने में सहायता मिलेगी।
5
Get Secret Key
settings page से अपना webhook Secret Key प्राप्त करें। प्राप्त webhooks की authenticity verify करने के लिए इसका उपयोग करेंगे।
अपनी webhook secret key को सुरक्षित रखें और इसे client-side code या public repositories में कभी expose न करें।
6
Rotate Secret (Optional)
आवश्यकता होने पर enhanced security के लिए अपनी webhook secret rotate कर सकते हैं। अपनी webhook settings में Rotate Secret button पर क्लिक करें।
Secret rotate करने पर वह expire हो जाएगी और नई secret से replace हो जाएगी। पुरानी secret केवल अगले 24 घंटों तक valid रहेगी। इसके बाद पुरानी secret से verify करने का प्रयास fail हो जाएगा।
Secret rotation का समय-समय पर उपयोग करें या तुरंत करें यदि आपको संदेह है कि आपकी वर्तमान secret compromise हो गई है।
interface सभी उपलब्ध webhook events को hierarchical structure में प्रदर्शित करता है। Events को category के अनुसार group किया जाता है (जैसे, dispute, payment, subscription)।
2
Search and Filter
event names या keywords टाइप करके विशिष्ट events को जल्दी खोजने के लिए search bar का उपयोग करें।
3
Select Events
जिन events को आप प्राप्त करना चाहते हैं, उनके आगे दिए गए boxes को check करें। आप:
अलग-अलग sub-events चुन सकते हैं (जैसे, dispute.accepted, dispute.challenged)
सभी संबंधित sub-events प्राप्त करने के लिए parent events चुन सकते हैं
अपनी आवश्यकताओं के आधार पर विशिष्ट events का संयोजन कर सकते हैं
4
Review Event Details
event कब trigger होता है, इसका description देखने के लिए प्रत्येक event के आगे information icon (ⓘ) पर hover करें।
5
Save Configuration
अपने changes लागू करने के लिए Save पर क्लिक करें या modifications को discard करने के लिए Cancel पर क्लिक करें।
यदि आप सभी events deselect कर देते हैं, तो आपका webhook endpoint कोई notification प्राप्त नहीं करेगा। कम से कम वे events चुनना सुनिश्चित करें जिनकी आपके application को सही ढंग से काम करने के लिए आवश्यकता है।
Webhooks में connection और read operations दोनों के लिए 15-second timeout window होती है। Timeouts से बचने के लिए सुनिश्चित करें कि आपका endpoint तुरंत response दे।
Webhooks को asynchronously process करें: पहले 200 status code के साथ receipt को तुरंत acknowledge करें, फिर actual processing को background में handle करें।
यदि webhook delivery fail होती है, तो Dodo Payments आपके system को overload होने से बचाने के लिए exponential backoff के साथ automatically retry करता है।
प्रयास
विलंब
विवरण
1
तुरंत
पहला retry तुरंत होता है
2
5 सेकंड
थोड़े विलंब के बाद दूसरा प्रयास
3
5 मिनट
बढ़े हुए backoff के साथ तीसरा प्रयास
4
30 मिनट
backoff जारी रखते हुए चौथा प्रयास
5
2 घंटे
बढ़े हुए विलंब के साथ पाँचवाँ प्रयास
6
5 घंटे
अधिक लंबे विलंब के साथ छठा प्रयास
7
10 घंटे
अधिकतम विलंब के साथ सातवाँ प्रयास
8
10 घंटे
अंतिम प्रयास - असफल होने पर webhook को failed mark किया जाता है
प्रत्येक webhook event के लिए अधिकतम 8 retry attempts। उदाहरण के लिए, यदि सफल होने से पहले webhook तीन बार fail होता है, तो पहले प्रयास से कुल delivery time लगभग 35 मिनट और 5 सेकंड होता है।
किसी भी समय अलग-अलग messages को manually retry करने या सभी failed messages को bulk में recover करने के लिए Dodo Payments dashboard का उपयोग करें।
प्रत्येक webhook event में एक unique webhook-id header शामिल होता है। Idempotency लागू करने और duplicate processing रोकने के लिए इस identifier का उपयोग करें।
// Example: Storing webhook IDs to prevent duplicate processingconst processedWebhooks = new Set();app.post('/webhook', (req, res) => { const webhookId = req.headers['webhook-id']; if (processedWebhooks.has(webhookId)) { return res.status(200).json({ received: true }); } processedWebhooks.add(webhookId); // Process the webhook...});
हमेशा idempotency checks लागू करें। Retries के कारण आपको एक ही event कई बार प्राप्त हो सकता है।
Retries या network conditions के कारण webhook events क्रम से बाहर आ सकते हैं। अपने system को किसी भी sequence में events handle करने के लिए design करें।
आपको delivery के समय का latest payload प्राप्त होगा, चाहे webhook event मूल रूप से कभी भी emit किया गया हो।
प्रत्येक webhook request में एक webhook-signature header शामिल होता है, जो webhook payload और timestamp का HMAC SHA256 signature है और आपकी secret key से signed है।
Webhook endpoints के लिए हमेशा HTTPS URLs का उपयोग करें। HTTP endpoints man-in-the-middle attacks के प्रति vulnerable होते हैं और आपके webhook data को expose करते हैं।
Respond immediately
Webhook प्राप्त होते ही तुरंत 200 status code return करें। Timeouts से बचने के लिए event को asynchronously process करें।
आप live होने से पहले यह सुनिश्चित करने के लिए कि आपका endpoint सही ढंग से काम कर रहा है, सीधे Dodo Payments dashboard से अपने webhook integration का परीक्षण कर सकते हैं।
Production events process करने से पहले dashboard testing interface का उपयोग करके अपने webhook handler का thoroughly परीक्षण करें। इससे issues को जल्दी identify और fix करने में सहायता मिलती है।
अपने test mode account से local development server पर real webhook events को real time में forward करें:
dodo wh listen
CLI Dodo Payments से WebSocket connection खोलता है और प्रत्येक webhook event को आपके local endpoint (जैसे, http://localhost:3000/webhook) पर forward करता है। यह verification testing के लिए signature headers सहित सभी headers को preserve करता है।
Listener केवल test mode API keys के साथ काम करता है। इस command का उपयोग करने से पहले dodo login चलाएँ और Test Mode चुनें।
Real transactions create किए बिना किसी भी endpoint पर mock webhook payloads भेजें:
dodo wh trigger
यह interactive tool आपको सभी supported event types में से चुनने और realistic mock payloads अपने endpoint पर भेजने देता है। यह loop करता है, इसलिए आप एक session में कई events का परीक्षण कर सकते हैं।
dodo wh trigger से प्राप्त mock webhook payloads signed नहीं होते। केवल testing के दौरान अपने webhook handler में unwrap() के बजाय unsafe_unwrap() का उपयोग करें।
अपने endpoint पर भेजे गए सभी webhook requests में custom HTTP headers जोड़ें। यह authentication, routing या webhook requests में metadata जोड़ने के लिए उपयोगी है।
1
Add Custom Header
“Custom Headers” section में अपने custom header के लिए Key और Value दर्ज करें।
2
Add Multiple Headers
आवश्यकता के अनुसार additional custom headers जोड़ने के लिए + button पर क्लिक करें।
3
Save Configuration
आपके custom headers इस endpoint पर भेजे जाने वाले सभी webhook requests में शामिल किए जाएँगे।
Transformations आपको webhook के payload को modify करके किसी अलग URL पर redirect करने देती हैं। यह powerful feature आपको सक्षम बनाता है:
Processing से पहले payload structure modify करना
Content के आधार पर webhooks को अलग-अलग endpoints पर route करना
Payload से fields add या remove करना
Data formats transform करना
1
Enable Transformations
Transformation feature activate करने के लिए Enabled switch को toggle करें।
2
Configure Transformation
अपने transformation rules define करने के लिए Edit transformation पर क्लिक करें।
Webhook payload transform करने और अलग target URL specify करने के लिए JavaScript का उपयोग कर सकते हैं।
3
Test Transformation
Live होने से पहले यह verify करने के लिए testing interface का उपयोग करें कि आपका transformation सही ढंग से काम कर रहा है।
Transformations webhook delivery performance को significantly impact कर सकती हैं। Thoroughly test करें और transformation logic को simple और efficient रखें।
Logs tab आपके webhook delivery status की comprehensive visibility प्रदान करता है, जिससे आप webhook events को प्रभावी ढंग से monitor, debug और manage कर सकते हैं।
Automatic email notifications के साथ अपने webhook health से अवगत रहें। जब webhook deliveries fail होने लगें या आपका endpoint response देना बंद कर दे, तो आपको email alerts प्राप्त होंगे, जिससे आप issues को जल्दी address कर सकेंगे और अपने integrations को सुचारु रूप से चला सकेंगे।
अपने Dodo Payments Dashboard पर जाएँ और Dashboard → Webhooks → Alerting पर जाएँ।
2
Enable Email Notifications
Webhook delivery issues के बारे में alerts प्राप्त करना शुरू करने के लिए Email notifications को on करें।
3
Configure Email Address
वह email address दर्ज करें जहाँ आप webhook alerts प्राप्त करना चाहते हैं। जब आपके webhook setup से संबंधित कुछ events हों, जैसे delivery issues जो आपके integrations को प्रभावित कर सकते हैं, तो हम इस address पर notifications भेजेंगे।
Webhook delivery problems को जल्दी पहचानने और reliable integrations बनाए रखने के लिए email alerts enable करें। Deliveries fail होने या आपका endpoint unresponsive होने पर आपको notification दी जाएगी।
अपने webhook handler को production पर deploy करने के लिए तैयार हैं? हम popular cloud providers पर webhooks deploy करने में सहायता के लिए platform-specific guides प्रदान करते हैं, जिनमें प्रत्येक platform के लिए best practices शामिल हैं।
Vercel
Vercel पर serverless functions के साथ webhooks deploy करें
Cloudflare Workers
Cloudflare के edge network पर webhooks चलाएँ
Supabase Edge Functions
Webhooks को Supabase के साथ integrate करें
Netlify Functions
Webhooks को Netlify serverless functions के रूप में deploy करें
प्रत्येक platform guide में उस provider के लिए specific environment setup, signature verification और deployment steps शामिल हैं।