Dodo Payments में घटनाएँ होने पर वास्तविक समय में सूचनाएँ प्राप्त करें। कार्यप्रवाह को स्वचालित करें और तात्कालिक घटना वितरण के साथ अपने सिस्टम को समन्वयित रखें।
वेबहुक्स आपके Dodo Payments खाते में विशिष्ट घटनाएँ होने पर वास्तविक समय में सूचनाएँ प्रदान करते हैं। कार्यप्रवाह को स्वचालित करने, अपने डेटाबेस को अपडेट करने, सूचनाएँ भेजने और अपने सिस्टम को समन्वयित रखने के लिए वेबहुक्स का उपयोग करें।
हमारा वेबहुक कार्यान्वयन Standard Webhooks विनिर्देशन का पालन करता है, जो उद्योग के सर्वोत्तम प्रथाओं और मौजूदा वेबहुक पुस्तकालयों के साथ संगतता सुनिश्चित करता है।
DodoPayments डैशबोर्ड पर जाएँ और Settings > Webhooks पर जाएँ।
2
वेबहुक एंडपॉइंट बनाएँ
नया वेबहुक एंडपॉइंट बनाने के लिए Add Webhook पर क्लिक करें।
3
एंडपॉइंट URL जोड़ें
उस URL को दर्ज करें जहाँ आप वेबहुक घटनाएँ प्राप्त करना चाहते हैं।
4
प्राप्त करने के लिए घटनाएँ चुनें
घटना सूची से उन विशिष्ट घटनाओं का चयन करें जिनके लिए आपका वेबहुक एंडपॉइंट सुनना चाहिए।
केवल चयनित घटनाएँ आपके एंडपॉइंट के लिए वेबहुक को सक्रिय करेंगी, जिससे आपको अनावश्यक ट्रैफ़िक और प्रसंस्करण से बचने में मदद मिलेगी।
5
गुप्त कुंजी प्राप्त करें
सेटिंग्स पृष्ठ से अपना वेबहुक Secret Key प्राप्त करें। आप इसका उपयोग प्राप्त वेबहुक की प्रामाणिकता की पुष्टि करने के लिए करेंगे।
अपनी वेबहुक गुप्त कुंजी को सुरक्षित रखें और इसे क्लाइंट-साइड कोड या सार्वजनिक रिपॉजिटरी में कभी न उजागर करें।
6
गुप्त को घुमाएँ (वैकल्पिक)
यदि आवश्यक हो, तो आप सुरक्षा बढ़ाने के लिए अपनी वेबहुक गुप्त को घुमा सकते हैं। अपने वेबहुक सेटिंग्स में गुप्त घुमाएँ बटन पर क्लिक करें।
गुप्त को घुमाने से यह समाप्त हो जाएगा और नए के साथ बदल दिया जाएगा। पुराना गुप्त केवल अगले 24 घंटों के लिए मान्य होगा। इसके बाद, पुराने गुप्त के साथ सत्यापन करने का प्रयास विफल हो जाएगा।
यदि आपको संदेह है कि आपकी वर्तमान गुप्त को समझौता किया गया है, तो समय-समय पर या तुरंत गुप्त घुमाने का उपयोग करें।
इंटरफ़ेस सभी उपलब्ध वेबहुक घटनाओं को एक पदानुक्रमित संरचना में प्रदर्शित करता है। घटनाएँ श्रेणी के अनुसार समूहित की जाती हैं (जैसे, dispute, payment, subscription)।
2
खोजें और फ़िल्टर करें
घटना नाम या कीवर्ड टाइप करके विशिष्ट घटनाओं को जल्दी से खोजने के लिए खोज बार का उपयोग करें।
3
घटनाएँ चुनें
उन घटनाओं के बगल में स्थित बॉक्सों को चेक करें जिन्हें आप प्राप्त करना चाहते हैं। आप:
व्यक्तिगत उप-घटनाएँ चुन सकते हैं (जैसे, dispute.accepted, dispute.challenged)
सभी संबंधित उप-घटनाएँ प्राप्त करने के लिए माता-पिता की घटनाएँ चुन सकते हैं
अपनी आवश्यकताओं के आधार पर विशिष्ट घटनाओं को मिलाकर चुन सकते हैं
4
घटना विवरण की समीक्षा करें
प्रत्येक घटना के बगल में जानकारी आइकन (ⓘ) पर होवर करें ताकि यह देखा जा सके कि वह घटना कब सक्रिय होती है।
5
कॉन्फ़िगरेशन सहेजें
अपने परिवर्तनों को लागू करने के लिए सहेजें पर क्लिक करें, या संशोधनों को अस्वीकार करने के लिए रद्द करें पर क्लिक करें।
यदि आप सभी घटनाओं को अस्वीकृत करते हैं, तो आपका वेबहुक एंडपॉइंट कोई सूचनाएँ प्राप्त नहीं करेगा। सुनिश्चित करें कि आप कम से कम उन घटनाओं का चयन करें जिनकी आपके आवेदन को सही ढंग से कार्य करने के लिए आवश्यकता है।
वेबहुक्स के लिए 15-सेकंड का टाइमआउट विंडो है, जो कनेक्शन और पढ़ने के संचालन दोनों के लिए है। सुनिश्चित करें कि आपका एंडपॉइंट जल्दी प्रतिक्रिया करता है ताकि टाइमआउट से बचा जा सके।
वेबहुक्स को असिंक्रोनस रूप से संसाधित करें, तुरंत 200 स्थिति कोड के साथ प्राप्ति की स्वीकृति देकर, फिर वास्तविक प्रसंस्करण को बैकग्राउंड में संभालें।
यदि वेबहुक वितरण विफल हो जाता है, तो Dodo Payments स्वचालित रूप से गुणनात्मक बैकऑफ के साथ पुनः प्रयास करता है ताकि आपके सिस्टम को अधिक बोझ न डाला जा सके।
प्रयास
देरी
विवरण
1
तुरंत
पहला पुनः प्रयास तुरंत होता है
2
5 सेकंड
थोड़ी देरी के बाद दूसरा प्रयास
3
5 मिनट
बढ़ी हुई बैकऑफ के साथ तीसरा प्रयास
4
30 मिनट
चौथा प्रयास जारी बैकऑफ
5
2 घंटे
विस्तारित देरी के साथ पाँचवाँ प्रयास
6
5 घंटे
लंबे समय तक देरी के साथ छठा प्रयास
7
10 घंटे
अधिकतम देरी के साथ सातवाँ प्रयास
8
10 घंटे
अंतिम प्रयास - यदि असफल होता है तो वेबहुक को विफल के रूप में चिह्नित किया जाएगा
प्रत्येक वेबहुक घटना के लिए अधिकतम 8 पुनः प्रयास। उदाहरण के लिए, यदि एक वेबहुक तीन बार विफल होने के बाद सफल होता है, तो कुल वितरण समय पहले प्रयास से लगभग 35 मिनट और 5 सेकंड होगा।
Dodo Payments डैशबोर्ड का उपयोग करके किसी भी समय व्यक्तिगत संदेशों को मैन्युअल रूप से पुनः प्रयास करें या सभी विफल संदेशों को बल्क में पुनर्प्राप्त करें।
प्रत्येक वेबहुक घटना में एक अद्वितीय webhook-id हेडर शामिल होता है। इस पहचानकर्ता का उपयोग आइडेम्पोटेंसी को लागू करने और डुप्लिकेट प्रसंस्करण से बचने के लिए करें।
कॉपी करें
AI से पूछें
// 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...});
हमेशा आइडेम्पोटेंसी जांच लागू करें। पुनः प्रयासों के कारण, आप एक ही घटना को कई बार प्राप्त कर सकते हैं।
वेबहुक घटनाएँ पुनः प्रयासों या नेटवर्क स्थितियों के कारण क्रमबद्धता से बाहर आ सकती हैं। अपने सिस्टम को किसी भी अनुक्रम में घटनाओं को संभालने के लिए डिज़ाइन करें।
आपको वितरण के समय नवीनतम पेलोड प्राप्त होगा, चाहे वेबहुक घटना मूल रूप से कब उत्पन्न हुई थी।
प्रत्येक वेबहुक अनुरोध में webhook-signature हेडर शामिल होता है, जो वेबहुक पेलोड और टाइमस्टैम्प का HMAC SHA256 हस्ताक्षर है, जिसे आपकी गुप्त कुंजी के साथ हस्ताक्षरित किया गया है।
हमेशा वेबहुक एंडपॉइंट के लिए HTTPS URL का उपयोग करें। HTTP एंडपॉइंट मैन-इन-द-मिडल हमलों के प्रति संवेदनशील होते हैं और आपके वेबहुक डेटा को उजागर करते हैं।
तुरंत उत्तर दें
वेबहुक प्राप्त करने पर तुरंत 200 स्थिति कोड लौटाएँ। टाइमआउट से बचने के लिए घटना को असिंक्रोनस रूप से संसाधित करें।
यहाँ एक पूर्ण Express.js कार्यान्वयन है जो वेबहुक सत्यापन और हैंडलिंग को दिखाता है:
कॉपी करें
AI से पूछें
import { Webhook } from "standardwebhooks";import express from "express";const app = express();app.use(express.json());const webhook = new Webhook(process.env.DODO_WEBHOOK_SECRET);app.post('/webhook/dodo-payments', async (req, res) => { try { // Extract webhook headers const webhookHeaders = { "webhook-id": req.headers["webhook-id"] as string, "webhook-signature": req.headers["webhook-signature"] as string, "webhook-timestamp": req.headers["webhook-timestamp"] as string, }; // Verify the webhook signature const payload = JSON.stringify(req.body); await webhook.verify(payload, webhookHeaders); // Acknowledge receipt immediately res.status(200).json({ received: true }); // Process webhook asynchronously processWebhookAsync(req.body).catch(console.error); } catch (error) { console.error('Webhook verification failed:', error); res.status(400).json({ error: 'Invalid signature' }); }});async function processWebhookAsync(data: any) { // Handle the webhook event based on type switch (data.type) { case 'payment.succeeded': await handlePaymentSucceeded(data); break; case 'subscription.created': await handleSubscriptionCreated(data); break; // Add more event handlers... }}
अपने वेबहुक हैंडलर का परीक्षण डैशबोर्ड परीक्षण इंटरफ़ेस का उपयोग करके पूरी तरह से करें, इससे पहले कि आप उत्पादन घटनाओं को संसाधित करें। इससे समस्याओं की पहचान और समाधान में मदद मिलेगी।
अपने सिस्टम को अधिक बोझ से बचाने के लिए अपने एंडपॉइंट पर वेबहुक घटनाओं के वितरण की दर को नियंत्रित करें।
1
दर सीमा सेटिंग्स तक पहुँचें
उन्नत टैब में, “दर सीमा (थ्रॉटलिंग)” अनुभाग खोजें।
2
दर सीमा कॉन्फ़िगर करें
दर सीमा सेटिंग्स को संशोधित करने के लिए संपादित करें बटन पर क्लिक करें।
डिफ़ॉल्ट रूप से, वेबहुक्स पर “कोई दर सीमा” लागू होती है, जिसका अर्थ है कि घटनाएँ जैसे ही होती हैं वितरित की जाती हैं।
3
सीमाएँ सेट करें
वेबहुक वितरण की आवृत्ति को नियंत्रित करने और सिस्टम ओवरलोड से बचाने के लिए अपनी इच्छित दर सीमा कॉन्फ़िगर करें।
जब आपके वेबहुक हैंडलर को घटनाओं को संसाधित करने के लिए समय की आवश्यकता होती है या जब आप कई घटनाओं को एक साथ बैच करना चाहते हैं, तो दर सीमा का उपयोग करें।
अपने एंडपॉइंट पर भेजे गए सभी वेबहुक अनुरोधों में कस्टम HTTP हेडर जोड़ें। यह प्रमाणीकरण, रूटिंग, या आपके वेबहुक अनुरोधों में मेटाडेटा जोड़ने के लिए उपयोगी है।
1
कस्टम हेडर जोड़ें
“कस्टम हेडर” अनुभाग में, अपने कस्टम हेडर के लिए एक कुंजी और मान दर्ज करें।
2
एकाधिक हेडर जोड़ें
आवश्यकतानुसार अतिरिक्त कस्टम हेडर जोड़ने के लिए + बटन पर क्लिक करें।
3
कॉन्फ़िगरेशन सहेजें
आपके कस्टम हेडर सभी वेबहुक अनुरोधों में शामिल किए जाएंगे।
अपने वेबहुक स्वास्थ्य के बारे में स्वचालित ईमेल सूचनाओं के साथ सूचित रहें। जब वेबहुक वितरण विफल होने लगते हैं या आपका एंडपॉइंट प्रतिक्रिया देना बंद कर देता है, तो आपको ईमेल अलर्ट प्राप्त होंगे ताकि आप जल्दी से समस्याओं को संबोधित कर सकें और अपने एकीकरण को सुचारू रूप से चलाते रह सकें।
अपने Dodo Payments डैशबोर्ड पर जाएँ और डैशबोर्ड → वेबहुक्स → अलर्टिंग पर जाएँ।
2
ईमेल सूचनाएँ सक्षम करें
वेबहुक वितरण समस्याओं के बारे में अलर्ट प्राप्त करना शुरू करने के लिए ईमेल सूचनाएँ को चालू करें।
3
ईमेल पता कॉन्फ़िगर करें
वह ईमेल पता दर्ज करें जहाँ आप वेबहुक अलर्ट प्राप्त करना चाहते हैं। जब आपके वेबहुक सेटअप के साथ कुछ घटनाएँ होती हैं, जैसे वितरण समस्याएँ जो आपके एकीकरण को प्रभावित कर सकती हैं, तो हम इस पते पर सूचनाएँ भेजेंगे।
वेबहुक वितरण समस्याओं को जल्दी पकड़ने और विश्वसनीय एकीकरण बनाए रखने के लिए ईमेल अलर्ट सक्षम करें। जब वितरण विफल होते हैं या आपका एंडपॉइंट अनुप्रतिक्रिया हो जाता है, तो आपको सूचित किया जाएगा।
क्या आप अपने वेबहुक हैंडलर को उत्पादन में तैनात करने के लिए तैयार हैं? हम लोकप्रिय क्लाउड प्रदाताओं के लिए सर्वश्रेष्ठ प्रथाओं के साथ वेबहुक्स को तैनात करने में मदद करने के लिए प्लेटफ़ॉर्म-विशिष्ट गाइड प्रदान करते हैं।