Skip to main content

GitHub Repository

Minimal Next.js + Supabase + Dodo Payments boilerplate för prenumerationer

Live Demo

Utforska den distribuerade demon

Översikt

En produktionsklar boilerplate för prenumerationer med Next.js 15, React 19, Supabase, Drizzle ORM och Dodo Payments. Den levereras med Google OAuth, checkout för prenumerationer, webhook-hantering, databasschema och en grundläggande dashboard.
Om du endast behöver route handlers för en befintlig app kan du se de dedikerade adaptrarna: Next.js Adaptor och Express Adaptor.

Förutsättningar

  • Node.js 18+ (eller Bun 1.0+)
  • Supabase-projekt (URL, Anon key, Service role key, Database URL)
  • Dodo Payments-konto (API key, Webhook secret)
  • Google Cloud OAuth-klient (Client ID och Secret)

Snabbstart

1

Clone and install

2

Create Supabase project

Skapa ett Supabase-projekt och kopiera:
  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • DATABASE_URL (Connection string)
3

Configure Google OAuth

Ange redirect-URI:n till: https://[your-project-ref].supabase.co/auth/v1/callback i Google Cloud och aktivera sedan Google-provider i Supabase Auth med ditt Client ID och Secret.
4

Configure Dodo Payments

Generera en API key och Webhook secret från dashboarden för Dodo. Ange miljön till test_mode under utveckling.
5

Create .env.local

Commita aldrig hemligheter. Använd miljövariabler i distributionsmiljöer.
6

Provision database schema

Skapade tabeller: users, subscriptions, payments.
7

Deploy webhook function

cURL
8

Add webhook in Dodo Payments

Ange endpoint-URL till:
Välj betalnings- och prenumerationshändelser.
9

Create products and features

I dashboarden för Dodo → Products → Create Product. Lägg eventuellt till metadata:
Prisgränssnittet läser denna features-array och återger den dynamiskt.
10

Run the dev server

Öppna http://localhost:3000.

Detta ingår

  • Autentisering via Supabase (Google OAuth konfigurerat)
  • Checkout för prenumerationer via Dodo Payments
  • Supabase Edge Function för webhooks (dodo-webhook)
  • Drizzle ORM-schema och migreringar
  • Dashboard med fakturor, prenumerationsstatus och planfunktioner
Behåll DODO_PAYMENTS_ENVIRONMENT som test_mode tills du har slutfört tester från början till slut.

Viktiga filer och sökvägar

Miljövariabler

Verifiering och felsökning

  • Kontrollera att DODO_WEBHOOK_SECRET matchar värdet från dashboarden för Dodo
  • Bekräfta att du distribuerade den senaste funktionen dodo-webhook
  • Kontrollera att headernamnet är korrekt i din funktion (Dodo-Signature)
  • Kontrollera DATABASE_URL-syntaxen och Supabase-nätverkets utgående trafik
  • Vänta cirka 2–3 minuter efter att projektet skapats innan den första pushen
  • Redirect-URI:n måste vara https://[ref].supabase.co/auth/v1/callback
  • Kontrollera att samma URI används i Google Cloud och Supabase Auth-provider
Nu har du en fungerande SaaS-prenumerationsgrund byggd med Supabase och Dodo Payments.
Ursprungligt repository och detaljerade steg: dodo-supabase-subscription-starter.
Senast ändrad 31 juli 2026