Repository GitHub
Boilerplate completo 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 modelli async/await, Pydantic per la validazione e il
dodopayments SDK Python per un’integrazione API senza soluzione di continuità.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
1
Clona il Repository
2
Crea Ambiente Virtuale
Imposta un ambiente Python isolato:Oppure usa uv per una gestione delle dipendenze più veloce:
3
Installa le Dipendenze
4
Ottieni le Credenziali API
Registrati su Dodo Payments e ottieni le tue credenziali dal dashboard:
- API Key: Dashboard → Developer → API Keys
- Webhook Key: Dashboard → Developer → Webhooks
5
Configura le Variabili d'Ambiente
Crea un file Aggiorna i valori con le tue credenziali Dodo Payments:
.env nella directory principale:.env
6
Esegui il Server di Sviluppo
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 | Gestisci i webhook di Dodo Payments |
/customer-portal | POST | Genera l’URL del 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 | Abbonamento ora attivo |
subscription.cancelled | Abbonamento 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
Errori di importazione o moduli mancanti
Errori di importazione o moduli mancanti
Assicurati che il tuo ambiente virtuale sia attivato e che le dipendenze siano installate:
La creazione della sessione di checkout fallisce
La creazione della sessione di checkout fallisce
Cause comuni:
- ID prodotto non valido - verifica che esista nel tuo dashboard Dodo
- Chiave API errata o impostazione dell’ambiente in
.env - Controlla i log di FastAPI per messaggi di errore dettagliati
Webhook non ricevono eventi
Webhook non ricevono eventi
Per il test locale, utilizza ngrok per esporre il tuo server:Aggiorna l’URL del webhook nel tuo dashboard Dodo all’URL di ngrok. Assicurati di aggiornare il tuo file
.env con la chiave di verifica del webhook corretta.La verifica della firma del webhook fallisce
La verifica della firma del webhook fallisce
- Assicurati che
DODO_PAYMENTS_WEBHOOK_KEYsia impostato correttamente nel tuo.env - Verifica di utilizzare il corpo della richiesta raw per la verifica della firma
- Controlla che stai leggendo correttamente l’intestazione
webhook-signature
Scopri di più
SDK Python
Documentazione completa dell’SDK Python con supporto async
Documentazione Webhook
Scopri tutti gli eventi webhook e le migliori pratiche
Sessioni di Checkout
Approfondisci la configurazione delle sessioni di checkout
Riferimento API
Documentazione completa dell’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