GitHub Repository
Vollständiges FastAPI- und Dodo Payments-Boilerplate
Überblick
Das FastAPI-Boilerplate bietet einen produktionsbereiten Ausgangspunkt für die Integration von Dodo Payments in Ihr Python-Backend. Diese Vorlage umfasst die Verwaltung von Checkout-Sitzungen, die Verifizierung von Webhooks, die Integration des Customer Portal sowie asynchrone API-Muster, damit Sie schnell Zahlungen akzeptieren können.Dieses Boilerplate verwendet FastAPI mit async/await-Mustern, Pydantic für die Validierung und das
dodopayments Python SDK für eine nahtlose API-Integration.Funktionen
- Schnelle Einrichtung – In weniger als 5 Minuten startklar
- Async-Unterstützung – Mit den nativen async/await-Mustern von FastAPI entwickelt
- Checkout-Sitzungen – Vorkonfigurierter Checkout-Ablauf mit dem Python SDK
- Webhook-Verarbeitung – Sicherer Webhook-Endpunkt mit Signaturverifizierung
- Customer Portal – Einfache Erstellung von Customer-Portal-Sitzungen
- Typsicherheit – Vollständige Pydantic-Validierung und Type Hints
- Umgebungskonfiguration – Direkt einsetzbare Einrichtung von Umgebungsvariablen
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Folgendes vorhanden ist:- Python 3.9+ (empfohlen: Python 3.11+)
- pip oder uv für die Paketverwaltung
- Dodo Payments-Konto (für den Zugriff auf API- und Webhook Keys im Dashboard)
Schnellstart
1
Clone the Repository
2
Create Virtual Environment
Richten Sie eine isolierte Python-Umgebung ein:Oder verwenden Sie uv für eine schnellere Abhängigkeitsverwaltung:
3
Install Dependencies
4
Get API Credentials
Registrieren Sie sich unter Dodo Payments und rufen Sie Ihre Zugangsdaten im Dashboard ab:
- API Key: Dashboard → Developer → API Keys
- Webhook Key: Dashboard → Developer → Webhooks
5
Configure Environment Variables
Erstellen Sie im Stammverzeichnis eine Aktualisieren Sie die Werte mit Ihren Dodo Payments-Zugangsdaten:
.env-Datei:.env
6
Run the Development Server
Sie sollten die Swagger UI von FastAPI mit allen verfügbaren Endpunkten sehen, die zum Testen bereitstehen.
Projektstruktur
API-Endpunkte
Das Boilerplate umfasst die folgenden vorkonfigurierten Endpunkte:Codebeispiele
Checkout-Sitzung erstellen
Webhooks verarbeiten
Integration von Customer Portal
Webhook-Ereignisse
Das Boilerplate veranschaulicht die Verarbeitung gängiger Webhook-Ereignisse:
Fügen Sie Ihre Geschäftslogik in den Webhook-Handler ein, um:
- Benutzerberechtigungen in Ihrer Datenbank zu aktualisieren
- Bestätigungs-E-Mails zu senden
- Zugriff auf digitale Produkte bereitzustellen
- Analysen und Metriken zu erfassen
Webhooks lokal testen
Verwenden Sie für die lokale Entwicklung Tools wie ngrok, um Ihren lokalen Server öffentlich zugänglich zu machen:Bereitstellung
Docker
Überlegungen zur Produktion
Fehlerbehebung
Import errors or missing modules
Import errors or missing modules
Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiviert und die Abhängigkeiten installiert sind:
Checkout session creation fails
Checkout session creation fails
Häufige Ursachen:
- Ungültige Produkt-ID – überprüfen Sie, ob sie in Ihrem Dodo Dashboard vorhanden ist
- Falscher API Key oder falsche Umgebungseinstellung in
.env - Prüfen Sie die FastAPI-Logs auf detaillierte Fehlermeldungen
Webhooks not receiving events
Webhooks not receiving events
Verwenden Sie für lokale Tests ngrok, um Ihren Server öffentlich zugänglich zu machen:Aktualisieren Sie die Webhook-URL in Ihrem Dodo Dashboard auf die ngrok-URL. Aktualisieren Sie unbedingt Ihre
.env-Datei mit dem korrekten Webhook-Verifizierungsschlüssel.Webhook signature verification fails
Webhook signature verification fails
- Stellen Sie sicher, dass
DODO_PAYMENTS_WEBHOOK_KEYkorrekt in Ihrer.envgesetzt ist - Vergewissern Sie sich, dass Sie den unveränderten Request-Body für die Signaturverifizierung verwenden
- Prüfen Sie, ob Sie den
webhook-signature-Header korrekt auslesen
Weitere Informationen
Python SDK
Vollständige Dokumentation des Python SDK mit Async-Unterstützung
Webhooks Documentation
Erfahren Sie mehr über alle Webhook-Ereignisse und bewährte Vorgehensweisen
Checkout Sessions
Detaillierter Einblick in die Konfiguration von Checkout-Sitzungen
API Reference
Vollständige Dodo Payments-API-Dokumentation
Support
Benötigen Sie Hilfe mit dem Boilerplate?- Treten Sie unserer Discord-Community für Fragen und Diskussionen bei
- Sehen Sie im GitHub-Repository nach Problemen und Aktualisierungen
- Kontaktieren Sie unser Support-Team, wenn Sie Hilfe benötigen