Dépôt GitHub
Modèle 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 modèle utilise FastAPI avec des modèles async/await, Pydantic pour la validation, et le
dodopayments SDK Python 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
Cloner le dépôt
2
Créer un environnement virtuel
Configurez un environnement Python isolé :Ou en utilisant uv pour une gestion des dépendances plus rapide :
3
Installer les dépendances
4
Obtenir les identifiants API
Inscrivez-vous sur Dodo Payments et obtenez vos identifiants depuis le tableau de bord :
- Clé API : Tableau de bord → Développeur → Clés API
- Clé Webhook : Tableau de bord → Développeur → Webhooks
5
Configurer les variables d'environnement
Créez un Mettez à jour les valeurs avec vos identifiants Dodo Payments :
.env fichier dans le répertoire racine :.env
6
Exécuter le serveur de développement
Vous devriez voir l’interface Swagger 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 :| Point de terminaison | Méthode | Description |
|---|---|---|
/checkout | POST | Créer une nouvelle session de paiement |
/webhook | POST | Gérer les webhooks Dodo Payments |
/customer-portal | POST | Générer l’URL du portail client |
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 :| Événement | Description |
|---|---|
payment.succeeded | Paiement complété avec succès |
payment.failed | Échec de la tentative de paiement |
subscription.active | L’abonnement est maintenant actif |
subscription.cancelled | L’abonnement a été annulé |
refund.succeeded | Remboursement traité avec succès |
- 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 :Déploiement
Docker
Considérations de production
Dépannage
Erreurs d'importation ou modules manquants
Erreurs d'importation ou modules manquants
Assurez-vous que votre environnement virtuel est activé et que les dépendances sont installées :
Échec de la création de session de paiement
Échec de la création de session de paiement
Causes courantes :
- ID de produit invalide - vérifiez qu’il existe dans votre tableau de bord Dodo
- Mauvaise clé API ou paramètre d’environnement dans
.env - Vérifiez les journaux FastAPI pour des messages d’erreur détaillés
Webhooks ne recevant pas d'événements
Webhooks ne recevant pas d'événements
Pour les tests locaux, utilisez ngrok pour exposer votre serveur :Mettez à jour l’URL du webhook dans votre tableau de bord Dodo vers l’URL ngrok. Assurez-vous de mettre à jour votre
.env fichier avec la clé de vérification de webhook correcte.Échec de la vérification de la signature du webhook
Échec de la vérification de la signature du webhook
- Assurez-vous que
DODO_PAYMENTS_WEBHOOK_KEYest correctement défini dans votre.env - Vérifiez que vous utilisez le corps de la requête brut pour la vérification de la signature
- Vérifiez que vous lisez correctement l’en-tête
webhook-signature
En savoir plus
SDK Python
Documentation complète du SDK Python avec support asynchrone
Documentation des Webhooks
Découvrez tous les événements de webhook et les meilleures pratiques
Sessions de paiement
Plongée approfondie dans la configuration des sessions de paiement
Référence API
Documentation complète de l’API Dodo Payments
Support
Besoin d’aide avec le modèle ?- Rejoignez notre communauté Discord pour des questions et des discussions
- Consultez le dépôt GitHub pour les problèmes et les mises à jour
- Contactez notre équipe de support pour obtenir de l’aide