GitHub-Repository
Minimal Next.js + Supabase + Dodo Payments Abonnement-Boilerplate
Live-Demo
Erkunden Sie die bereitgestellte Demo
Übersicht
Ein produktionsbereites Boilerplate für Abonnements mit Next.js 15, React 19, Supabase, Drizzle ORM und Dodo Payments. Es wird mit Google OAuth, Abonnement-Checkout, Webhook-Verarbeitung, Datenbankschema und einem grundlegenden Dashboard geliefert.Wenn Sie nur Routen-Handler für eine vorhandene App benötigen, sehen Sie sich die speziellen Adapter an: Next.js-Adapter und Express-Adapter.
Voraussetzungen
- Node.js 18+ (oder Bun 1.0+)
- Supabase-Projekt (URL, Anon-Schlüssel, Service-Rollen-Schlüssel, Datenbank-URL)
- Dodo Payments-Konto (API-Schlüssel, Webhook-Geheimnis)
- Google Cloud OAuth-Client (Client-ID und Geheimnis)
Schnellstart
1
Klonen und installieren
2
Supabase-Projekt erstellen
Erstellen Sie ein Supabase-Projekt und kopieren Sie:
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
- SUPABASE_SERVICE_ROLE_KEY
- DATABASE_URL (Verbindungszeichenfolge)
3
Google OAuth konfigurieren
Setzen Sie die Umleitungs-URI auf:
https://[your-project-ref].supabase.co/auth/v1/callback in Google Cloud, aktivieren Sie dann den Google-Anbieter in Supabase Auth mit Ihrer Client-ID und Ihrem Geheimnis.4
Dodo Payments konfigurieren
Generieren Sie einen API-Schlüssel und ein Webhook-Geheimnis aus dem Dodo-Dashboard. Setzen Sie die Umgebung auf
test_mode während der Entwicklung.5
.env.local erstellen
6
Datenbankschema bereitstellen
Erstellte Tabellen:
users, subscriptions, payments.7
Webhook-Funktion bereitstellen
cURL
8
Webhook in Dodo Payments hinzufügen
Setzen Sie die Endpunkt-URL auf:Wählen Sie Zahlungs- und Abonnementereignisse aus.
9
Produkte und Funktionen erstellen
Im Dodo-Dashboard → Produkte → Produkt erstellen. Fügen Sie optional Metadaten hinzu:Die Preis-UI liest dieses
features Array und rendert es dynamisch.10
Dev-Server ausführen
Was ist enthalten
- Authentifizierung über Supabase (Google OAuth konfiguriert)
- Abonnement-Checkout über Dodo Payments
- Supabase Edge-Funktion für Webhooks (
dodo-webhook) - Drizzle ORM-Schema und Migrationen
- Dashboard mit Rechnungen, Abonnementstatus und Planfunktionen
Wichtige Dateien und Pfade
- Edge-Funktion
- Next.js-Routen
- Datenbank (Drizzle)
Umgebungsvariablen
Supabase
Supabase
Dodo Payments
Dodo Payments
Google OAuth
Google OAuth
Überprüfung und Fehlersuche
Webhook-Signatur ungültig (401)
Webhook-Signatur ungültig (401)
- Stellen Sie sicher, dass
DODO_WEBHOOK_SECRETmit dem Wert aus dem Dodo-Dashboard übereinstimmt - Bestätigen Sie, dass Sie die neueste
dodo-webhookFunktion bereitgestellt haben - Überprüfen Sie, ob der Header-Name in Ihrer Funktion korrekt ist (Dodo-Signatur)
Datenbank-Push schlägt fehl
Datenbank-Push schlägt fehl
- Überprüfen Sie die
DATABASE_URLSyntax und den Supabase-Netzwerkverkehr - Warten Sie ~2–3 Minuten nach der Projekterstellung, bevor Sie den ersten Push durchführen
OAuth-Umleitungsfehler
OAuth-Umleitungsfehler
- Die Umleitungs-URI muss
https://[ref].supabase.co/auth/v1/callbacksein - Stellen Sie sicher, dass dasselbe in Google Cloud und im Supabase Auth-Anbieter vorhanden ist
Sie haben jetzt ein funktionierendes Abonnement-SaaS mit Supabase und Dodo Payments erstellt.
Original-Repository und detaillierte Schritte: dodo-supabase-subscription-starter.