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)
त्वरित प्रारंभ
Supabase प्रोजेक्ट बनाएं
एक Supabase प्रोजेक्ट बनाएं और कॉपी करें:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (कनेक्शन स्ट्रिंग)
गूगल OAuth कॉन्फ़िगर करें
Google Cloud में रीडायरेक्ट URI सेट करें:
https://[your-project-ref].supabase.co/auth/v1/callback फिर अपने Client ID और Secret का उपयोग करके Supabase Auth में Google प्रदाता को सक्षम करें।Dodo Payments कॉन्फ़िगर करें
Dodo डैशबोर्ड से एक API कुंजी और Webhook सीक्रेट उत्पन्न करें। विकास के दौरान पर्यावरण को
test_mode पर सेट करें।उत्पाद और सुविधाएँ बनाएं
Dodo डैशबोर्ड → उत्पाद → उत्पाद बनाएं। वैकल्पिक रूप से मेटाडेटा जोड़ें:मूल्य निर्धारण UI इस
features ऐरे को पढ़ता है और इसे गतिशील रूप से प्रस्तुत करता है।डेव सर्वर चलाएँ
क्या शामिल है
- Supabase के माध्यम से प्रमाणीकरण (गूगल OAuth कॉन्फ़िगर किया गया)
- Dodo Payments के माध्यम से सदस्यता चेकआउट
- वेबहुक के लिए Supabase Edge Function (
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।