GitHub Repository
न्यूनतम Next.js + Supabase + Dodo Payments सब्सक्रिप्शन बॉयलरप्लेट
Live Demo
तैनात डेमो का अन्वेषण करें
अवलोकन
Next.js 15, React 19, Supabase, Drizzle ORM, और Dodo Payments का उपयोग करके सब्सक्रिप्शन के लिए एक प्रोडक्शन-रेडी बॉयलरप्लेट। इसमें Google OAuth, सब्सक्रिप्शन चेकआउट, वेबहुक हैंडलिंग, डेटाबेस स्कीमा, और एक बुनियादी डैशबोर्ड शामिल है।यदि आपको एक मौजूदा ऐप के लिए केवल रूट हैंडलर की आवश्यकता है, तो समर्पित अडैप्टर्स देखें: Next.js Adaptor और Express Adaptor।
पूर्वापेक्षाएँ
- Node.js 18+ (या Bun 1.0+)
- Supabase प्रोजेक्ट (URL, Anon key, Service role key, Database URL)
- Dodo Payments खाता (API key, Webhook secret)
- Google Cloud OAuth क्लाइंट (Client ID और Secret)
त्वरित प्रारंभ
1
क्लोन और इंस्टॉल
2
Supabase प्रोजेक्ट बनाएं
एक Supabase प्रोजेक्ट बनाएं और कॉपी करें:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (कनेक्शन स्ट्रिंग)
3
Google OAuth कॉन्फ़िगर करें
Google Cloud में रीडायरेक्ट URI को सेट करें:
https://[your-project-ref].supabase.co/auth/v1/callback, फिर अपने Client ID और Secret का उपयोग करके Supabase Auth में Google प्रदाता को सक्षम करें।4
Dodo Payments कॉन्फ़िगर करें
Dodo डैशबोर्ड से एक API key और Webhook secret उत्पन्न करें। विकास के दौरान वातावरण को
test_mode पर सेट करें।5
.env.local बनाएं
6
डेटाबेस स्कीमा प्रदान करें
टेबल बनाए गए:
users, subscriptions, payments।7
वेबहुक फ़ंक्शन तैनात करें
cURL
8
Dodo Payments में वेबहुक जोड़ें
एंडपॉइंट URL को सेट करें:भुगतान और सब्सक्रिप्शन घटनाओं का चयन करें।
9
उत्पाद और सुविधाएँ बनाएं
Dodo डैशबोर्ड → उत्पाद → उत्पाद बनाएं। वैकल्पिक रूप से मेटाडेटा जोड़ें:प्राइसिंग UI इस
features एरे को पढ़ता है और इसे गतिशील रूप से रेंडर करता है।10
डेव सर्वर चलाएँ
क्या शामिल है
- Supabase के माध्यम से प्रमाणीकरण (Google OAuth कॉन्फ़िगर किया गया)
- Dodo Payments के माध्यम से सब्सक्रिप्शन चेकआउट
- वेबहुक के लिए Supabase Edge फ़ंक्शन (
dodo-webhook) - Drizzle ORM स्कीमा और माइग्रेशन
- चालान, सब्सक्रिप्शन स्थिति, और योजना सुविधाओं के साथ डैशबोर्ड
प्रमुख फ़ाइलें और पथ
- Edge Function
- Next.js रूट
- डेटाबेस (Drizzle)
पर्यावरण चर
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
सत्यापन और समस्या निवारण
Webhook सिग्नेचर अमान्य (401)
Webhook सिग्नेचर अमान्य (401)
- सुनिश्चित करें कि
DODO_WEBHOOK_SECRETDodo डैशबोर्ड से प्राप्त मान से मेल खाता है - पुष्टि करें कि आपने नवीनतम
dodo-webhookफ़ंक्शन तैनात किया है - अपने फ़ंक्शन में हेडर नाम सही है (Dodo-Signature) यह सुनिश्चित करें
डेटाबेस पुश विफल होता है
डेटाबेस पुश विफल होता है
DATABASE_URLसिंटैक्स और Supabase नेटवर्क एग्रेस की जांच करें- पहले पुश से पहले प्रोजेक्ट निर्माण के बाद ~2–3 मिनट प्रतीक्षा करें
OAuth रीडायरेक्ट असंगति
OAuth रीडायरेक्ट असंगति
- रीडायरेक्ट URI
https://[ref].supabase.co/auth/v1/callbackहोना चाहिए - Google Cloud और Supabase Auth प्रदाता में समान सुनिश्चित करें
आपके पास अब Supabase और Dodo Payments के साथ एक कार्यशील सब्सक्रिप्शन SaaS है।
मूल भंडार और विस्तृत चरण: dodo-supabase-subscription-starter।