GitHub Repository
Komplett FastAPI + Dodo Payments-startmall
Översikt
FastAPI-startmallen ger dig en produktionsklar utgångspunkt för att integrera Dodo Payments med ditt Python-backend. Mallen innehåller hantering av checkout-sessioner, verifiering av webhooks, integration med kundportalen och asynkrona API-mönster som hjälper dig att snabbt börja ta emot betalningar.Den här startmallen använder FastAPI med inbyggda async/await-mönster, Pydantic för validering och
dodopayments Python SDK för smidig API-integration.Funktioner
- Snabb installation – Kom igång på mindre än 5 minuter
- Stöd för asynkron kod – Byggd med FastAPI:s inbyggda async/await-mönster
- Checkout-sessioner – Förkonfigurerat checkout-flöde med Python SDK
- Webhook-hantering – Säker webhook-endpoint med signaturverifiering
- Customer Portal – Skapa kundportalsessioner enkelt
- Typsäkerhet – Fullständig Pydantic-validering och typanvisningar
- Miljökonfiguration – Färdig konfiguration av miljövariabler
Förutsättningar
Innan du börjar bör du ha:- Python 3.9+ (rekommenderas: Python 3.11+)
- pip eller uv för pakethantering
- Dodo Payments-konto (för åtkomst till API- och Webhook Keys från instrumentpanelen)
Snabbstart
1
Clone the Repository
2
Create Virtual Environment
Konfigurera en isolerad Python-miljö:Eller använd uv för snabbare beroendehantering:
3
Install Dependencies
4
Get API Credentials
Registrera dig på Dodo Payments och hämta dina autentiseringsuppgifter från instrumentpanelen:
- API Key: Instrumentpanel → Developer → API Keys
- Webhook Key: Instrumentpanel → Developer → Webhooks
5
Configure Environment Variables
Skapa en Uppdatera värdena med dina Dodo Payments-autentiseringsuppgifter:
.env-fil i rotkatalogen:.env
6
Run the Development Server
Du bör se FastAPI:s Swagger UI med alla tillgängliga endpoints redo att testas.
Projektstruktur
API-endpoints
Startmallen innehåller följande förkonfigurerade endpoints:Kodexempel
Skapa en checkout-session
Hantera webhooks
Integrering med Customer Portal
Webhook-händelser
Startmallen visar hur du hanterar vanliga webhook-händelser:
Lägg till din verksamhetslogik i webhook-hanteraren för att:
- Uppdatera användarbehörigheter i din databas
- Skicka bekräftelsemeddelanden
- Ge åtkomst till digitala produkter
- Spåra analysdata och mätvärden
Testa webhooks lokalt
För lokal utveckling kan du använda verktyg som ngrok för att exponera din lokala server:Driftsättning
Docker
Att tänka på i produktion
Felsökning
Import errors or missing modules
Import errors or missing modules
Kontrollera att din virtuella miljö är aktiverad och att beroendena är installerade:
Checkout session creation fails
Checkout session creation fails
Vanliga orsaker:
- Ogiltigt produkt-ID – verifiera att det finns i din Dodo-instrumentpanel
- Fel API-nyckel eller miljöinställning i
.env - Kontrollera FastAPI-loggarna för detaljerade felmeddelanden
Webhooks not receiving events
Webhooks not receiving events
Använd ngrok för att exponera din server vid lokal testning:Uppdatera webhook-URL:en i din Dodo-instrumentpanel till ngrok-URL:en. Se till att uppdatera din
.env-fil med rätt verifieringsnyckel för webhooken.Webhook signature verification fails
Webhook signature verification fails
- Kontrollera att
DODO_PAYMENTS_WEBHOOK_KEYär korrekt inställd i din.env - Verifiera att du använder den råa request body för signaturverifiering
- Kontrollera att du läser
webhook-signature-headern korrekt
Läs mer
Python SDK
Komplett dokumentation för Python SDK med stöd för async
Webhooks Documentation
Läs mer om alla webhook-händelser och bästa praxis
Checkout Sessions
Fördjupa dig i konfigurationen av checkout-sessioner
API Reference
Komplett Dodo Payments-API-dokumentation
Support
Behöver du hjälp med startmallen?- Gå med i vår Discord-community för frågor och diskussioner
- Besök GitHub-repositoriet för problem och uppdateringar
- Kontakta vårt supportteam för hjälp