Skip to main content

GitHub Repository

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

त्वरित सेटअप

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

आपको चाहिए:

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

3. Database सेटअप

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

4. प्रारंभिक Environment Variables सेट करें

Deployment के बाद, अपना webhook URL मिलने पर DODO_PAYMENTS_WEBHOOK_KEY सेट करें।

5. Initialize और Deploy करें

6. अपना Webhook URL प्राप्त करें

आपका webhook URL है:

7. DodoPayments Dashboard में Webhook Register करें

  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 Key सेट करें और Redeploy करें

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

Webhook handler subscription events को process करता है और उन्हें PostgreSQL में store करता है:
  • subscription.active — customer और subscription records को create या 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 का support जोड़ने के लिए आप इसे extend कर सकते हैं।

Configuration Files

Database Schema

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

Implementation Code

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

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

Testing

Local development:
Netlify dashboard में logs देखें:
  1. अपनी site चुनें और Functions पर जाएँ।
  2. webhook function पर क्लिक करें।
  3. Real-time logs और invocation history देखें।
Dodo Payments dashboard में configure करें:
  1. Developer → Webhooks पर जाएँ।
  2. अपने Netlify Functions URL के साथ एक endpoint जोड़ें।
  3. subscription.active, subscription.cancelled और subscription.renewed चुनें।

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

Resources

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