Passer au contenu principal

GitHub Repository

Boilerplate complet FastAPI + Dodo Payments

Aperçu

Le modèle FastAPI fournit un point de départ prêt pour la production pour intégrer Dodo Payments avec votre backend Python. Ce modèle inclut la gestion des sessions de paiement, la vérification des webhooks, l’intégration du portail client et des modèles d’API asynchrones pour vous aider à commencer à accepter des paiements rapidement.
Ce boilerplate utilise FastAPI avec les patterns async/await, Pydantic pour la validation, et le SDK Python dodopayments pour une intégration API fluide.

Caractéristiques

  • Configuration rapide - Commencez en moins de 5 minutes
  • Support asynchrone - Construit avec les modèles natifs async/await de FastAPI
  • Sessions de paiement - Flux de paiement préconfiguré utilisant le SDK Python
  • Gestion des webhooks - Point de terminaison webhook sécurisé avec vérification de signature
  • Portail client - Création facile de sessions de portail client
  • Sécurité des types - Validation complète Pydantic et indications de type
  • Configuration de l’environnement - Configuration des variables d’environnement prête à l’emploi

Prérequis

Avant de commencer, assurez-vous d’avoir :
  • Python 3.9+ (recommandé : Python 3.11+)
  • pip ou uv pour la gestion des paquets
  • Compte Dodo Payments (pour accéder aux clés API et Webhook depuis le tableau de bord)

Démarrage rapide

1

Clone the Repository

2

Create Virtual Environment

Configurez un environnement Python isolé :
Ou en utilisant uv pour une gestion des dépendances plus rapide :
3

Install Dependencies

Ou avec uv :
4

Get API Credentials

Inscrivez-vous sur Dodo Payments et récupérez vos identifiants depuis le tableau de bord :
Assurez-vous d’être en mode test pendant le développement !
5

Configure Environment Variables

Créez un fichier .env à la racine :
Mettez à jour les valeurs avec vos identifiants Dodo Payments :
.env
Ne validez jamais votre fichier .env dans le contrôle de version. Il est déjà inclus dans .gitignore.
6

Run the Development Server

Ouvrez http://localhost:8000/docs pour voir la documentation API interactive !
Vous devriez voir l’interface Swagger UI de FastAPI avec tous les points de terminaison disponibles prêts à être testés.

Structure du projet

Points de terminaison API

Le modèle inclut les points de terminaison préconfigurés suivants :

Exemples de code

Création d’une session de paiement

Gestion des webhooks

Intégration du portail client

Événements de webhook

Le modèle démontre la gestion des événements de webhook courants : Ajoutez votre logique métier à l’intérieur du gestionnaire de webhook pour :
  • Mettre à jour les autorisations des utilisateurs dans votre base de données
  • Envoyer des e-mails de confirmation
  • Fournir l’accès à des produits numériques
  • Suivre les analyses et les métriques

Tester les webhooks localement

Pour le développement local, utilisez des outils comme ngrok pour exposer votre serveur local :
Mettez à jour l’URL du webhook dans votre tableau de bord Dodo Payments :

Déploiement

Docker

Construire et exécuter :

Considérations de production

Avant de déployer en production :
  • Passez DODO_PAYMENTS_ENVIRONMENT à live_mode
  • Utilisez les clés API de production depuis le tableau de bord
  • Mettez à jour l’URL du webhook avec votre domaine de production
  • Activez HTTPS pour tous les points de terminaison

Dépannage

Assurez-vous que votre environnement virtuel est activé et que les dépendances sont installées :
Causes courantes :
  • ID produit invalide — vérifiez qu’il existe dans votre tableau de bord Dodo
  • Mauvaise clé API ou mauvais paramètre d’environnement dans .env
  • Consultez les journaux FastAPI pour des messages d’erreur détaillés
Pour les tests locaux, utilisez ngrok pour exposer votre serveur :
Mettez à jour l’URL du webhook dans votre Dodo dashboard avec l’URL ngrok. Assurez-vous de mettre à jour votre fichier .env avec la clé de vérification du webhook correcte.
  • Assurez-vous que DODO_PAYMENTS_WEBHOOK_KEY est correctement défini dans votre .env
  • Vérifiez que vous utilisez le corps brut de la requête pour la vérification de la signature
  • Vérifiez que vous lisez correctement l’en-tête webhook-signature

En savoir plus

Python SDK

Documentation complète du SDK Python avec prise en charge async

Webhooks Documentation

Découvrez tous les événements webhook et les bonnes pratiques

Checkout Sessions

Approfondissement de la configuration des sessions de paiement

API Reference

Documentation complète de l’API Dodo Payments

Support

Besoin d’aide avec le modèle ?
Dernière modification le 9 juin 2026