Skip to main content

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

Oder mit uv:
4

Get API Credentials

Registrieren Sie sich unter Dodo Payments und rufen Sie Ihre Zugangsdaten im Dashboard ab:
Stellen Sie sicher, dass Sie sich während der Entwicklung im Test Mode befinden!
5

Configure Environment Variables

Erstellen Sie im Stammverzeichnis eine .env-Datei:
Aktualisieren Sie die Werte mit Ihren Dodo Payments-Zugangsdaten:
.env
Committen Sie Ihre .env-Datei niemals in die Versionsverwaltung. Sie ist bereits in .gitignore enthalten.
6

Run the Development Server

Öffnen Sie http://localhost:8000/docs, um die interaktive API-Dokumentation anzuzeigen!
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:
Aktualisieren Sie die Webhook-URL in Ihrem Dodo Payments Dashboard:

Bereitstellung

Docker

Erstellen und ausführen:

Überlegungen zur Produktion

Vor der Bereitstellung in der Produktion:
  • Ändern Sie DODO_PAYMENTS_ENVIRONMENT zu live_mode
  • Verwenden Sie Produktions-API Keys aus dem Dashboard
  • Aktualisieren Sie die Webhook-URL auf Ihre Produktionsdomain
  • Aktivieren Sie HTTPS für alle Endpunkte

Fehlerbehebung

Stellen Sie sicher, dass Ihre virtuelle Umgebung aktiviert und die Abhängigkeiten installiert sind:
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
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.
  • Stellen Sie sicher, dass DODO_PAYMENTS_WEBHOOK_KEY korrekt in Ihrer .env gesetzt 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?
Zuletzt geändert am 31. Juli 2026