Skip to main content

GitHub Repository

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

त्वरित सेटअप

1. आवश्यकताएँ

आपको चाहिए:

2. Dependencies इंस्टॉल करें

3. Database Setup

  1. Neon पर sign up करें और एक project बनाएँ।
  2. SQL Editor खोलें।
  3. schema.sql की पूरी सामग्री copy करके उसे run करें।
  4. Connection Details से अपना connection string copy करें।

4. Initial Environment Variables सेट करें

Deployment के बाद, जब आपका webhook URL मिल जाए, तब आप DODO_PAYMENTS_WEBHOOK_KEY सेट करेंगे।

5. तैनात करें

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

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

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

  1. Dodo Payments dashboard में Developer → Webhooks पर जाएँ।
  2. Add endpoint पर क्लिक करें।
  3. अपना webhook URL दर्ज करें।
  4. इन events को चुनें: subscription.active, subscription.cancelled, subscription.renewed।
  5. Create endpoint पर क्लिक करें और signing secret copy करें।

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

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

Webhook handler subscription events को process करता है और उन्हें PostgreSQL में store करता है:
  • subscription.active — customer और subscription records बनाता या update करता है
  • subscription.cancelled — subscription को cancelled के रूप में mark करता है
  • subscription.renewed — अगली billing date update करता है

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

  • Signature verification — webhook की authenticity verify करने के लिए Dodo Payments SDK का उपयोग करता है
  • Idempotency — duplicate processing रोकने के लिए webhook-id header का उपयोग करता है
  • Event logging — audit trails के लिए सभी events को webhook_events table में store करता है
  • Error handling — failures को log करता है और events को retry के लिए mark करता है
यह example minimal fields के साथ तीन core subscription events को handle करता है। अपनी आवश्यकताओं के आधार पर अतिरिक्त event types और fields का समर्थन करने के लिए आप इसे extend कर सकते हैं।

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

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

बनाई गई tables:
  • customers — Email, name और Dodo Payments customer ID
  • subscriptions — Status, amount, next billing date, customers से linked
  • webhook_events — Idempotency के लिए webhook ID वाला event log

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

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

Webhook handler:
  1. Body parsing disable करता है — Signature verification के लिए raw body तक पहुँचने हेतु
  2. Signature verify करता है — HMAC-SHA256 के साथ request verify करने के लिए Dodo Payments SDK का उपयोग करता है
  3. Duplicates की जाँच करता है — उसी event को दो बार process होने से रोकने के लिए webhook-id header का उपयोग करता है
  4. Event log करता है — Audit trails के लिए raw webhook को webhook_events table में store करता है
  5. Event process करता है — Neon में customers और subscriptions बनाता या update करता है
  6. Errors handle करता है — failures को log करता है और events को retry के लिए unprocessed के रूप में mark करता है

परीक्षण

स्थानीय विकास:
Vercel dashboard में logs देखें:
  1. अपना project चुनें।
  2. Deployments → latest deployment पर जाएँ।
  3. Functions → Logs पर क्लिक करें।
Dodo Payments dashboard में configure करें:
  1. Developer → Webhooks पर जाएँ।
  2. अपने Vercel Functions URL के साथ एक endpoint जोड़ें।
  3. subscription.active, subscription.cancelled, और subscription.renewed चुनें।

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

संसाधन

अंतिम संशोधन 26 सितंबर 2026