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

GitHub Repository

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

त्वरित सेटअप

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

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

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

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

4. प्रारंभिक रहस्यों को कॉन्फ़िगर करें

Note: जब आपके पास आपका वेबहुक URL हो, तो तैनाती के बाद DODO_PAYMENTS_WEBHOOK_KEY सेट किया जाएगा।

5. wrangler.toml को अपडेट करें

wrangler.toml को संपादित करें और अपना वर्कर नाम सेट करें:

6. तैनात करें

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

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

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

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

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

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

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

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

Signature verification - dodopayments लाइब्रेरी का उपयोग करके
Idempotency - वेबहुक ID के साथ डुप्लिकेट प्रोसेसिंग को रोकता है
Event logging - webhook_events तालिका में पूर्ण ऑडिट ट्रेल
Error handling - लॉग किया गया और पुनः प्रयास योग्य
Note: यह कार्यान्वयन तीन मूल सब्सक्रिप्शन इवेंट्स (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 - एक ही इवेंट को दो बार प्रोसेस होने से रोकने के लिए वेबहुक ID का उपयोग करता है
  3. Logs the event - ऑडिट ट्रेल के लिए कच्चे वेबहुक को webhook_events तालिका में स्टोर करता है
  4. Processes the event - ग्राहक और सब्सक्रिप्शन को बनाता है या अपडेट करता है
  5. Handles errors - विफलताओं को लॉग करता है और पुनः प्रयास के लिए इवेंट को अपरप्रोसेस्ड के रूप में चिह्नित करता है

परीक्षण

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

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

संसाधन

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