Übersicht
Das Next.js Minimal Boilerplate bietet einen sofort einsatzbereiten Ausgangspunkt für die Integration von Dodo Payments in Ihre Next.js-Anwendung. Diese Vorlage umfasst Checkout-Sitzungen, Webhook-Verarbeitung, Kundenportal und moderne UI-Komponenten, um Ihnen zu helfen, schnell Zahlungen zu akzeptieren.Dieses Boilerplate verwendet Next.js 16 App Router mit TypeScript, Tailwind CSS 4 und dem
@dodopayments/nextjs-Adapter.Funktionen
- Schnelle Einrichtung – In weniger als 5 Minuten startklar
- Zahlungsintegration – Vorgefertigter Checkout-Flow mit
@dodopayments/nextjs - Moderne Oberfläche – Saubere, dunkel gehaltene Preisübersicht mit Tailwind CSS
- Webhook-Handler – Bereit nutzbarer Webhook-Endpunkt für Zahlungsereignisse
- Kundenportal – Ein-Klick-Verwaltung von Abonnements
- TypeScript – Vollständig typisiert mit minimalen, fokussierten Typen
- Vorbefüllter Checkout – Zeigt, wie Kundendaten zur Verbesserung der UX übergeben werden
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:- Node.js 20.9+ (erforderlich für Next.js 16)
- Dodo Payments-Konto (um API- und Webhook-Keys vom Dashboard abzurufen)
Schnellstart
Get API Credentials
Melde dich bei Dodo Payments an und hole dir deine Zugangsdaten über das Dashboard:
- API-Schlüssel: Dashboard → Entwickler → API-Schlüssel
- Webhook-Schlüssel: Dashboard → Entwickler → Webhooks
Configure Environment Variables
Erstelle eine Aktualisieren Sie die Werte mit Ihren Dodo Payments-Anmeldeinformationen:
.env-Datei im Stammverzeichnis:Add Your Products
Aktualisiere
src/lib/products.ts mit deinen tatsächlichen Produkt-IDs von Dodo Payments:Run the Development Server
Projektstruktur
Anpassung
Produktinformationen aktualisieren
Bearbeitesrc/lib/products.ts, um zu ändern:
- Produkt-IDs (aus deinem Dodo-Dashboard)
- Preise
- Funktionen
- Beschreibungen
Kundendaten vorab ausfüllen
Ersetze insrc/app/components/ProductCard.tsx die hartcodierten Werte durch deine tatsächlichen Benutzerdaten:
Kundenportal aktualisieren
Ersetze insrc/app/components/Header.tsx die hartcodierte Kunden-ID:
Webhook-Ereignisse
Das Boilerplate demonstriert die Behandlung von zwei Webhook-Ereignissen insrc/app/api/webhook/route.ts:
onSubscriptionActive– Wird ausgelöst, wenn ein Abonnement aktiv wirdonPaymentSucceeded– Wird ausgelöst, wenn eine Zahlung erfolgreich ist
Bereitstellung
Für die Produktion bauen
Auf Vercel bereitstellen
[Webhook-URL aktualisieren
Nach der Bereitstellung aktualisieren Sie Ihre Webhook-URL im Dodo Payments Dashboard:Fehlersuche
Module not found or build errors
Module not found or build errors
Lösche
node_modules und installiere die Abhängigkeiten neu:Checkout redirect fails
Checkout redirect fails
Häufige Ursachen:
- Ungültige Produkt-ID – überprüfe, ob sie in deinem Dodo-Dashboard existiert
- Falscher API-Schlüssel oder Umgebungseinstellung in
.env - Prüfe Browser-Konsole und Terminal auf Fehler
Webhooks not receiving events
Webhooks not receiving events
Für lokale Tests nutze ngrok, um deinen Server freizugeben:Aktualisiere die Webhook-URL in deinem Dodo-Dashboard auf die ngrok-URL. Denk daran, deine .env-Datei mit dem korrekten Webhook-Verifizierungsschlüssel zu aktualisieren.
Customer portal link doesn't work
Customer portal link doesn't work
Ersetze die hartcodierte
CUSTOMER_ID in src/app/components/Header.tsx durch eine tatsächliche Kunden-ID aus deinem Dodo-Dashboard.Oder integriere dein Authentifizierungssystem und deine Datenbank, um die Kunden-ID dynamisch abzurufen.Erfahren Sie mehr
Unterstützung
Brauchen Sie Hilfe mit dem Boilerplate?- Treten Sie unserer Discord-Community für Fragen und Diskussionen bei
- Überprüfen Sie das GitHub-Repository auf Probleme und Updates
- Kontaktieren Sie unser Support-Team für Unterstützung