मुख्य सामग्री पर जाएं

GitHub Repository

पूर्ण स्रोत कोड और सेटअप गाइड

त्वरित सेटअप

1. पूर्वापेक्षाएँ

2. निर्भरता स्थापित करें

3. डेटाबेस सेटअप

  1. Neon के लिए साइन अप करें
  2. एक नया प्रोजेक्ट बनाएं
  3. SQL एडिटर खोलें
  4. schema.sql की सामग्री कॉपी और पेस्ट करें
  5. क्वेरी चलाएँ
  6. Neon → Connection Details से अपना कनेक्शन स्ट्रिंग प्राप्त करें

4. प्रारंभिक पर्यावरण चर सेट करें

Note: हम DODO_PAYMENTS_WEBHOOK_KEY को डिप्लॉयमेंट के बाद तब सेट करेंगे जब आपका webhook URL उपलब्ध हो।

5. प्रारंभ करें और तैनात करें

6. अपना वेबहुक URL प्राप्त करें

आपका वेबहुक URL है:

7. DodoPayments डैशबोर्ड में वेबहुक पंजीकृत करें

  1. DodoPayments Dashboard → Developer → Webhooks पर जाएं
  2. एक नया webhook endpoint बनाएं
  3. अपने webhook URL को endpoint के रूप में कॉन्फ़िगर करें
  4. इन subscription events को सक्षम करें:
    • subscription.active
    • subscription.cancelled
    • subscription.renewed
  5. Signing Secret को कॉपी करें

8. वेबहुक कुंजी सेट करें और पुनः तैनात करें

यह क्या करता है

सदस्यता घटनाओं को संसाधित करता है और उन्हें PostgreSQL में संग्रहीत करता है:
  • subscription.active - ग्राहक और सदस्यता रिकॉर्ड बनाता/अपडेट करता है
  • subscription.cancelled - सदस्यता को रद्द के रूप में चिह्नित करता है
  • subscription.renewed - अगली बिलिंग तिथि को अपडेट करता है

प्रमुख विशेषताएँ

Signature verification - dodopayments लाइब्रेरी का उपयोग करके सत्यापन ✅ Idempotency - webhook IDs के साथ डुप्लीकेट प्रोसेसिंग को रोकता है ✅ Event logging - webhook_events तालिका में पूर्ण ऑडिट ट्रेल ✅ Error handling - लॉग किया गया और पुन:प्रयास योग्य
Note: यह कार्यान्वयन तीन मुख्य subscription घटनाओं (subscription.active, subscription.cancelled, subscription.renewed) को न्यूनतम फ़ील्ड के साथ संभालना दिखाता है। आप इसे आवश्यकताओं के आधार पर अतिरिक्त ईवेंट प्रकारों और फ़ील्ड्स का समर्थन करने के लिए आसानी से बढ़ा सकते हैं।

कॉन्फ़िगरेशन फ़ाइलें

डेटाबेस स्कीमा

बनाई गई तालिकाएँ:
  • customers - ईमेल, नाम, dodo_customer_id
  • subscriptions - स्थिति, राशि, अगली_billing_date, ग्राहकों से लिंक किया गया
  • webhook_events - idempotency के लिए webhook_id के साथ इवेंट लॉग

कार्यान्वयन कोड

यह कैसे काम करता है

वेबहूक हैंडलर:
  1. Verifies the signature - HMAC-SHA256 का उपयोग करके सुनिश्चित करता है कि अनुरोध DodoPayments से है
  2. Checks for duplicates - एक ही ईवेंट को दो बार प्रोसेस होने से रोकने के लिए webhook ID का उपयोग करता है
  3. Logs the event - ऑडिट ट्रेल के लिए कच्चे webhook को webhook_events तालिका में संग्रहीत करता है
  4. Processes the event - Neon में ग्राहक और सदस्यताएँ बनाता या अपडेट करता है
  5. Handles errors - विफलताओं को लॉग करता है और पुनः प्रयास के लिए ईवेंट को अप्रोसेस्ड के रूप में चिह्नित करता है

परीक्षण

स्थानीय विकास:
Netlify डैशबोर्ड में लॉग देखें:
  1. अपनी साइट चुनें → Functions टैब
  2. webhook फ़ंक्शन पर क्लिक करें
  3. रियल-टाइम लॉग और invocation इतिहास देखें
DodoPayments डैशबोर्ड में कॉन्फ़िगर करें:
  1. डेवलपर्स → वेबहुक्स पर जाएं
  2. अपने Netlify Functions URL के साथ एंडपॉइंट जोड़ें
  3. सक्षम करें: subscription.active, subscription.cancelled, subscription.renewed

सामान्य समस्याएँ

संसाधन

अंतिम संशोधन 22 मई 2026