GitHub Repository
पूर्ण स्रोत कोड और सेटअप गाइड
त्वरित सेटअप
1. आवश्यकताएँ
आपको चाहिए:- एक Netlify account
- एक Neon database account
- Dashboard में Developer → API Keys से Dodo Payments API key
2. Dependencies इंस्टॉल करें
3. Database सेटअप
- Neon पर sign up करें और एक project बनाएँ।
- SQL Editor खोलें।
schema.sqlकी पूरी सामग्री copy करके उसे run करें।- 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 करें
- Dodo Payments dashboard में Developer → Webhooks पर जाएँ।
- Add endpoint पर क्लिक करें।
- अपना webhook URL दर्ज करें।
- इन events को चुनें:
subscription.active,subscription.cancelled,subscription.renewed। - 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-idheader का उपयोग करता है - Event logging — audit trails के लिए सभी events को
webhook_eventstable में store करता है - Error handling — failures को log करता है और events को retry के लिए mark करता है
यह example minimal fields के साथ तीन core subscription events को handle करता है। अपनी आवश्यकताओं के आधार पर अतिरिक्त event types और fields का support जोड़ने के लिए आप इसे extend कर सकते हैं।
Configuration Files
Database Schema
customers— Email, name और Dodo Payments customer IDsubscriptions— Status, amount, अगली billing date, customers से linkedwebhook_events— Idempotency के लिए webhook ID वाला event log
Implementation Code
यह कैसे काम करता है
Webhook handler:- Signature verify करता है — HMAC-SHA256 के साथ request को verify करने के लिए Dodo Payments SDK का उपयोग करता है
- Duplicates की जाँच करता है — उसी event को दो बार process होने से रोकने के लिए
webhook-idheader का उपयोग करता है - Event log करता है — audit trails के लिए raw webhook को
webhook_eventstable में store करता है - Event process करता है — Neon में customers और subscriptions को create या update करता है
- Errors handle करता है — failures को log करता है और events को retry के लिए unprocessed mark करता है
Testing
Local development:- अपनी site चुनें और Functions पर जाएँ।
webhookfunction पर क्लिक करें।- Real-time logs और invocation history देखें।
- Developer → Webhooks पर जाएँ।
- अपने Netlify Functions URL के साथ एक endpoint जोड़ें।
subscription.active,subscription.cancelledऔरsubscription.renewedचुनें।