GitHub Repository
Minimal Go + Dodo Payments Boilerplate
Übersicht
Das Go-Boilerplate bietet einen produktionsbereiten Ausgangspunkt für die Integration von Dodo Payments in Ihr Go-Backend. Diese Vorlage umfasst die Handhabung von Checkout-Sitzungen, die Überprüfung von Webhooks, die Integration des Kundenportals und folgt den besten Praktiken von Go, um Ihnen zu helfen, schnell Zahlungen zu akzeptieren.Dieses Boilerplate verwendet Go 1.21+ mit sauberen Architekturmustern (
cmd, internal, templates), HTML-Vorlagen und das dodopayments-go SDK für eine nahtlose API-Integration.Funktionen
- Schnelle Einrichtung - Starten Sie in weniger als 5 Minuten
- Zahlungsintegration - Vorgefertigter Checkout-Flow mit dem
dodopayments-goSDK - Moderne UI - Saubere, dunkel gestaltete Preisgestaltungseite mit HTML-Vorlagen
- Webhook-Verarbeitung - Sicheres Überprüfen und Verarbeiten von Zahlungsereignissen
- Kundenportal - Selbstbedienungs-Abonnementverwaltung
- Go-Best Practices - Saubere Architektur mit
cmd,internalundtemplates - Vorab ausgefüllter Checkout - Demonstriert das Übergeben von Kundendaten zur Verbesserung der Benutzererfahrung
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:- Go 1.21+
- Dodo Payments-Konto (um API- und Webhook-Keys vom Dashboard abzurufen)
Schnellstart
1
Repository klonen
2
Abhängigkeiten installieren
3
API-Anmeldeinformationen abrufen
Melden Sie sich bei Dodo Payments an und holen Sie sich Ihre Anmeldeinformationen vom Dashboard:
- API-Schlüssel: Dashboard → Entwickler → API-Schlüssel
- Webhook-Schlüssel: Dashboard → Entwickler → Webhooks
4
Umgebungsvariablen konfigurieren
Erstellen Sie eine Aktualisieren Sie die Werte mit Ihren Dodo Payments-Anmeldeinformationen:
.env Datei im Stammverzeichnis:.env
5
Fügen Sie Ihre Produkte hinzu
Aktualisieren Sie
internal/lib/products.go mit Ihren tatsächlichen Produkt-IDs von Dodo Payments:6
Entwicklungsserver starten
Sie sollten eine dunkel gestaltete Preisgestaltungseite mit Ihren Produkten sehen, die bereit zum Kauf sind.
Projektstruktur
API-Endpunkte
Das Boilerplate umfasst die folgenden vorkonfigurierten Endpunkte:| Endpunkt | Methode | Beschreibung |
|---|---|---|
/ | GET | Preisgestaltungseite mit Produktauflistung |
/api/checkout | POST | Erstellen Sie eine neue Checkout-Sitzung |
/api/webhook | POST | Verarbeiten Sie Dodo Payments-Webhooks |
/api/customer-portal | POST | Generieren Sie die URL des Kundenportals |
Anpassung
Produktinformationen aktualisieren
Bearbeiten Sieinternal/lib/products.go, um Folgendes zu ändern:
- Produkt-IDs (aus Ihrem Dodo-Dashboard)
- Preise
- Funktionen
- Beschreibungen
Kundendaten vorab ausfüllen
Intemplates/index.html ersetzen Sie die fest codierten Kundendaten durch Ihre tatsächlichen Benutzerdaten:
Webhook-Ereignisse
Das Boilerplate demonstriert die Verarbeitung von Webhook-Ereignissen ininternal/api/webhook.go. Unterstützte Ereignisse sind:
| Ereignis | Beschreibung |
|---|---|
subscription.active | Ausgelöst, wenn ein Abonnement aktiv wird |
payment.succeeded | Ausgelöst, wenn eine Zahlung erfolgreich ist |
- Benutzerberechtigungen in Ihrer Datenbank zu aktualisieren
- Bestätigungs-E-Mails zu senden
- Zugriff auf digitale Produkte bereitzustellen
- Analysen und Metriken zu verfolgen
Webhooks lokal testen
Für die lokale Entwicklung verwenden Sie Tools wie ngrok, um Ihren lokalen Server freizugeben:Bereitstellung
Für die Produktion bauen
Auf Vercel bereitstellen
[Docker
Erstellen Sie eineDockerfile:
Produktionsüberlegungen
Fehlersuche
Build-Fehler oder fehlende Abhängigkeiten
Build-Fehler oder fehlende Abhängigkeiten
Stellen Sie sicher, dass Go-Module ordnungsgemäß heruntergeladen werden:
Fehler beim Erstellen der Checkout-Sitzung
Fehler beim Erstellen der Checkout-Sitzung
Häufige Ursachen:
- Ungültige Produkt-ID - überprüfen Sie, ob sie in Ihrem Dodo-Dashboard vorhanden ist
- Falscher API-Schlüssel oder Umgebungsparameter in
.env - Überprüfen Sie die Serverprotokolle auf detaillierte Fehlermeldungen
Webhooks empfangen keine Ereignisse
Webhooks empfangen keine Ereignisse
Für lokale Tests verwenden Sie ngrok, um Ihren Server freizugeben:Aktualisieren Sie die Webhook-URL in Ihrem Dodo-Dashboard auf die ngrok-URL. Stellen Sie sicher, dass Sie Ihre
.env Datei mit dem richtigen Webhook-Überprüfungsschlüssel aktualisieren.Vorlagen werden nicht geladen
Vorlagen werden nicht geladen
Stellen Sie sicher, dass Sie den Server aus dem Stammverzeichnis des Projekts ausführen oder dass der Vorlagenpfad in Ihrem Code korrekt konfiguriert ist.
Erfahren Sie mehr
Go SDK
Vollständige Go SDK-Dokumentation
Webhook-Dokumentation
Erfahren Sie mehr über alle Webhook-Ereignisse und Best Practices
Checkout-Sitzungen
Detaillierte Informationen zur Konfiguration von Checkout-Sitzungen
API-Referenz
Vollständige Dodo Payments API-Dokumentation
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