GitHub Repository
Completa boilerplate FastAPI + Dodo Payments
Panoramica
Il boilerplate FastAPI fornisce un punto di partenza pronto per la produzione per integrare Dodo Payments con il tuo backend Python. Questo template include la gestione delle sessioni di checkout, la verifica dei webhook, l’integrazione del portale clienti e modelli API async per aiutarti ad accettare pagamenti rapidamente.Questo boilerplate utilizza FastAPI con pattern async/await, Pydantic per la validazione e l’SDK Python
dodopayments per un’integrazione API senza interruzioni.Caratteristiche
- Impostazione rapida - Inizia in meno di 5 minuti
- Supporto Async - Costruito con i modelli nativi async/await di FastAPI
- Sessioni di Checkout - Flusso di checkout preconfigurato utilizzando l’SDK Python
- Gestione dei Webhook - Endpoint webhook sicuro con verifica della firma
- Portale Clienti - Creazione facile delle sessioni del portale clienti
- Sicurezza dei Tipi - Validazione completa di Pydantic e suggerimenti sui tipi
- Configurazione dell’Ambiente - Impostazione delle variabili d’ambiente pronta all’uso
Requisiti
Prima di iniziare, assicurati di avere:- Python 3.9+ (consigliato: Python 3.11+)
- pip o uv per la gestione dei pacchetti
- Account Dodo Payments (per accedere alle chiavi API e Webhook dal dashboard)
Avvio Rapido
Create Virtual Environment
Configura un ambiente Python isolato:Oppure usa uv per una gestione delle dipendenze più veloce:
Get API Credentials
Iscriviti a Dodo Payments e ottieni le tue credenziali dal pannello di controllo:
- API Key: Dashboard → Developer → API Keys
- Webhook Key: Dashboard → Developer → Webhooks
Configure Environment Variables
Crea un file Aggiorna i valori con le tue credenziali Dodo Payments:
.env nella directory principale:.env
Run the Development Server
Dovresti vedere l’interfaccia Swagger di FastAPI con tutti gli endpoint disponibili pronti per essere testati.
Struttura del Progetto
Endpoint API
Il boilerplate include i seguenti endpoint preconfigurati:| Endpoint | Metodo | Descrizione |
|---|---|---|
/checkout | POST | Crea una nuova sessione di checkout |
/webhook | POST | Gestisce i webhook di Dodo Payments |
/customer-portal | POST | Genera URL per il portale clienti |
Esempi di Codice
Creazione di una Sessione di Checkout
Gestione dei Webhook
Integrazione del Portale Clienti
Eventi Webhook
Il boilerplate dimostra la gestione di eventi webhook comuni:| Evento | Descrizione |
|---|---|
payment.succeeded | Pagamento completato con successo |
payment.failed | Tentativo di pagamento fallito |
subscription.active | L’abbonamento è ora attivo |
subscription.cancelled | L’abbonamento è stato annullato |
refund.succeeded | Rimborso elaborato con successo |
- Aggiornare i permessi degli utenti nel tuo database
- Inviare email di conferma
- Fornire accesso a prodotti digitali
- Monitorare analisi e metriche
Testare i Webhook Localmente
Per lo sviluppo locale, utilizza strumenti come ngrok per esporre il tuo server locale:Distribuzione
Docker
Considerazioni per la Produzione
Risoluzione dei Problemi
Import errors or missing modules
Import errors or missing modules
Assicurati che il tuo ambiente virtuale sia attivato e che le dipendenze siano installate:
Checkout session creation fails
Checkout session creation fails
Cause comuni:
- ID prodotto non valido - verifica che esista nel tuo pannello Dodo
- Chiave API o impostazione ambiente errate in
.env - Controlla i log di FastAPI per messaggi di errore dettagliati
Webhooks not receiving events
Webhooks not receiving events
Per i test locali, usa ngrok per esporre il tuo server:Aggiorna l’URL del webhook nel tuo pannello Dodo con l’URL di ngrok. Assicurati di aggiornare il tuo file
.env con la chiave di verifica webhook corretta.Webhook signature verification fails
Webhook signature verification fails
- Assicurati che
DODO_PAYMENTS_WEBHOOK_KEYsia impostato correttamente nel tuo.env - Verifica di utilizzare il corpo della richiesta grezzo per la verifica della firma
- Controlla di leggere correttamente l’intestazione
webhook-signature
Scopri di più
Python SDK
Documentazione completa dell’SDK Python con supporto async
Webhooks Documentation
Scopri tutti gli eventi webhook e le best practice
Checkout Sessions
Approfondimento sulla configurazione della sessione di checkout
API Reference
Documentazione completa delle API Dodo Payments
Supporto
Hai bisogno di aiuto con il boilerplate?- Unisciti alla nostra comunità Discord per domande e discussioni
- Controlla il repository GitHub per problemi e aggiornamenti
- Contatta il nostro team di supporto per assistenza