GitHub Repository
Minimal Next.js + Supabase + Dodo Payments prenumerationsboilerplate
Live Demo
Utforska den distribuerade demon
Översikt
Ett produktionsklart boilerplate för prenumerationer med Next.js 15, React 19, Supabase, Drizzle ORM och Dodo Payments. Det levereras med Google OAuth, prenumerationskassa, webhook-hantering, databasstruktur och en grundläggande instrumentpanel.Om du bara behöver ruttshanterare för en befintlig app, se de dedikerade adaptrarna: Next.js Adaptor och Express Adaptor.
Förutsättningar
- Node.js 18+ (eller Bun 1.0+)
- Supabase-projekt (URL, Anon-nyckel, Service roll-nyckel, Databas-URL)
- Dodo Payments-konto (API-nyckel, Webhook-hemlighet)
- Google Cloud OAuth-klient (Klient-ID och hemlighet)
Snabbstart
1
Klona och installera
2
Skapa Supabase-projekt
Skapa ett Supabase-projekt och kopiera:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (Anslutningssträng)
3
Konfigurera Google OAuth
Ställ in omdirigerings-URI till:
https://[your-project-ref].supabase.co/auth/v1/callback i Google Cloud, aktivera sedan Google-leverantör i Supabase Auth med ditt Klient-ID och hemlighet.4
Konfigurera Dodo Payments
Generera en API-nyckel och Webhook-hemlighet från Dodo-instrumentpanelen. Ställ in miljön till
test_mode under utveckling.5
Skapa .env.local
6
Provisionera databasstruktur
Tabeller skapade:
users, subscriptions, payments.7
Distribuera webhook-funktion
cURL
8
Lägg till webhook i Dodo Payments
Ställ in slutpunkts-URL till:Välj betalnings- och prenumerationsevenemang.
9
Skapa produkter och funktioner
I Dodo-instrumentpanelen → Produkter → Skapa produkt. Valfritt, lägg till metadata:Prissättnings-UI läser denna
features array och renderar den dynamiskt.10
Kör utvecklingsservern
Vad som ingår
- Autentisering via Supabase (Google OAuth konfigurerad)
- Prenumerationskassa via Dodo Payments
- Supabase Edge Function för webhooks (
dodo-webhook) - Drizzle ORM-schema och migrationer
- Instrumentpanel med fakturor, prenumerationsstatus och planfunktioner
Nyckelfiler och sökvägar
- Edge Function
- Next.js-rutter
- Databas (Drizzle)
Miljövariabler
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
Verifiering och felsökning
Webhook-signatur ogiltig (401)
Webhook-signatur ogiltig (401)
- Se till att
DODO_WEBHOOK_SECRETmatchar värdet från Dodo-instrumentpanelen - Bekräfta att du har distribuerat den senaste
dodo-webhookfunktionen - Verifiera att headernamnet är korrekt i din funktion (Dodo-Signature)
Databaspush misslyckas
Databaspush misslyckas
- Kontrollera
DATABASE_URLsyntax och Supabase nätverksutgång - Vänta ~2–3 minuter efter projektets skapande innan första push
OAuth-omdirigering mismatch
OAuth-omdirigering mismatch
- Omdirigerings-URI måste vara
https://[ref].supabase.co/auth/v1/callback - Se till att samma i Google Cloud och Supabase Auth-leverantör
Du har nu en fungerande prenumerations-SaaS som är skapad med Supabase och Dodo Payments.
Originalrepository och detaljerade steg: dodo-supabase-subscription-starter.