Skip to main content

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

Eller med uv:
4

Get API Credentials

Registrera dig på Dodo Payments och hämta dina autentiseringsuppgifter från instrumentpanelen:
Se till att du är i Test Mode under utvecklingen!
5

Configure Environment Variables

Skapa en .env-fil i rotkatalogen:
Uppdatera värdena med dina Dodo Payments-autentiseringsuppgifter:
.env
Checka aldrig in din .env-fil i versionshanteringen. Den ingår redan i .gitignore.
6

Run the Development Server

Öppna http://localhost:8000/docs för att se den interaktiva API-dokumentationen!
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:
Uppdatera webhook-URL:en i din Dodo Payments-instrumentpanel:

Driftsättning

Docker

Bygg och kör:

Att tänka på i produktion

Innan du driftsätter i produktion:
  • Ändra DODO_PAYMENTS_ENVIRONMENT till live_mode
  • Använd produktionsnycklar från instrumentpanelen
  • Uppdatera webhook-URL:en till din produktionsdomän
  • Aktivera HTTPS för alla endpoints

Felsökning

Kontrollera att din virtuella miljö är aktiverad och att beroendena är installerade:
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
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.
  • 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?
Senast ändrad 31 juli 2026