GitHub Repository
Vollständiges FastAPI + Dodo Payments Boilerplate
Übersicht
Das FastAPI-Boilerplate bietet einen produktionsbereiten Ausgangspunkt für die Integration von Dodo Payments in Ihr Python-Backend. Diese Vorlage umfasst die Handhabung von Checkout-Sitzungen, die Überprüfung von Webhooks, die Integration des Kundenportals und asynchrone API-Muster, um Ihnen zu helfen, schnell Zahlungen zu akzeptieren.Dieses Boilerplate verwendet FastAPI mit async/await-Mustern, Pydantic zur Validierung und das
dodopayments Python SDK für eine nahtlose API-Integration.Funktionen
- Schnelle Einrichtung - Starten Sie in weniger als 5 Minuten
- Async-Unterstützung - Entwickelt mit den nativen async/await-Mustern von FastAPI
- Checkout-Sitzungen - Vorgefertigter Checkout-Flow mit dem Python SDK
- Webhook-Verarbeitung - Sicherer Webhook-Endpunkt mit Signaturüberprüfung
- Kundenportal - Einfache Erstellung von Kundenportalsitzungen
- Typensicherheit - Vollständige Pydantic-Validierung und Typ-Hinweise
- Umgebungs-Konfiguration - Bereit zur Verwendung mit Umgebungsvariablen
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:- Python 3.9+ (empfohlen: Python 3.11+)
- pip oder uv für das Paketmanagement
- Dodo Payments-Konto (um API- und Webhook-Keys vom Dashboard abzurufen)
Schnellstart
1
Repository klonen
2
Virtuelle Umgebung erstellen
Richten Sie eine isolierte Python-Umgebung ein:Oder verwenden Sie uv für ein schnelleres Abhängigkeitsmanagement:
3
Abhängigkeiten installieren
4
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
5
Umgebungsvariablen konfigurieren
Erstellen Sie eine Aktualisieren Sie die Werte mit Ihren Dodo Payments-Anmeldeinformationen:
.env Datei im Stammverzeichnis:.env
6
Entwicklungsserver starten
Sie sollten die Swagger UI von FastAPI mit allen verfügbaren Endpunkten sehen, die bereit sind, getestet zu werden.
Projektstruktur
API-Endpunkte
Das Boilerplate umfasst die folgenden vorkonfigurierten Endpunkte:| Endpunkt | Methode | Beschreibung |
|---|---|---|
/checkout | POST | Erstellen Sie eine neue Checkout-Sitzung |
/webhook | POST | Verarbeiten Sie Dodo Payments-Webhooks |
/customer-portal | POST | Generieren Sie die URL des Kundenportals |
Codebeispiele
Erstellen einer Checkout-Sitzung
Verarbeitung von Webhooks
Integration des Kundenportals
Webhook-Ereignisse
Das Boilerplate demonstriert die Verarbeitung gängiger Webhook-Ereignisse:| Ereignis | Beschreibung |
|---|---|
payment.succeeded | Zahlung erfolgreich abgeschlossen |
payment.failed | Zahlungsversuch fehlgeschlagen |
subscription.active | Abonnement ist jetzt aktiv |
subscription.cancelled | Abonnement wurde gekündigt |
refund.succeeded | Rückerstattung erfolgreich verarbeitet |
- 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
Docker
Produktionsüberlegungen
Fehlersuche
Importfehler oder fehlende Module
Importfehler oder fehlende Module
Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiviert und die Abhängigkeiten installiert sind:
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 Umgebungs-Einstellung in
.env - Überprüfen Sie die FastAPI-Protokolle 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.Webhook-Signaturüberprüfung schlägt fehl
Webhook-Signaturüberprüfung schlägt fehl
- Stellen Sie sicher, dass
DODO_PAYMENTS_WEBHOOK_KEYkorrekt in Ihrer.envgesetzt ist - Überprüfen Sie, ob Sie den Rohdatenkörper für die Signaturüberprüfung verwenden
- Stellen Sie sicher, dass Sie den
webhook-signatureHeader korrekt lesen
Erfahren Sie mehr
Python SDK
Vollständige Python SDK-Dokumentation mit Async-Unterstützung
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