Dépôt GitHub
Boilerplate minimal Go + Dodo Payments
Aperçu
Le boilerplate Go fournit un point de départ prêt pour la production pour intégrer Dodo Payments avec votre backend Go. Ce modèle inclut la gestion des sessions de paiement, la vérification des webhooks, l’intégration du portail client, et suit les meilleures pratiques Go pour vous aider à commencer à accepter des paiements rapidement.Ce boilerplate utilise Go 1.21+ avec des modèles d’architecture propre (
cmd, internal, templates), des modèles HTML, et le SDK dodopayments-go pour une intégration API sans faille.Fonctionnalités
- Configuration rapide - Commencez en moins de 5 minutes
- Intégration de paiement - Flux de paiement préconfiguré utilisant le SDK
dodopayments-go - UI moderne - Page de tarification propre et sombre avec des modèles HTML
- Gestion des webhooks - Vérifiez et traitez en toute sécurité les événements de paiement
- Portail client - Gestion des abonnements en libre-service
- Meilleures pratiques Go - Architecture propre avec
cmd,internal, ettemplates - Checkout pré-rempli - Montre comment passer les données client pour améliorer l’expérience utilisateur
Prérequis
Avant de commencer, assurez-vous d’avoir :- Go 1.21+
- 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
Installer les dépendances
3
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
4
Configurer les variables d'environnement
Créez un fichier Mettez à jour les valeurs avec vos identifiants Dodo Payments :
.env dans le répertoire racine :.env
5
Ajoutez vos produits
Mettez à jour
internal/lib/products.go avec vos véritables identifiants de produit de Dodo Payments :6
Exécutez le serveur de développement
Vous devriez voir une page de tarification à thème sombre avec vos produits prêts à être achetés.
Structure du projet
Points de terminaison API
Le boilerplate inclut les points de terminaison préconfigurés suivants :| Point de terminaison | Méthode | Description |
|---|---|---|
/ | GET | Page de tarification avec liste de produits |
/api/checkout | POST | Créer une nouvelle session de paiement |
/api/webhook | POST | Gérer les webhooks de Dodo Payments |
/api/customer-portal | POST | Générer l’URL du portail client |
Personnalisation
Mettre à jour les informations sur les produits
Modifiezinternal/lib/products.go pour modifier :
- Identifiants de produit (de votre tableau de bord Dodo)
- Tarification
- Fonctionnalités
- Descriptions
Pré-remplir les données client
Danstemplates/index.html, remplacez les données client codées en dur par vos véritables données utilisateur :
Événements de webhook
Le boilerplate démontre la gestion des événements de webhook dansinternal/api/webhook.go. Les événements pris en charge incluent :
| Événement | Description |
|---|---|
subscription.active | Déclenché lorsqu’un abonnement devient actif |
payment.succeeded | Déclenché lorsqu’un paiement est réussi |
- Mettre à jour les autorisations utilisateur 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
Construire pour la production
Déployer sur Vercel
[Docker
Créez unDockerfile :
Considérations de production
Dépannage
Erreurs de construction ou dépendances manquantes
Erreurs de construction ou dépendances manquantes
Assurez-vous que les modules Go sont correctement téléchargés :
Échec de la création de session de paiement
Échec de la création de session de paiement
Causes courantes :
- Identifiant 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 du serveur 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 fichier
.env avec la clé de vérification du webhook correcte.Modèles ne se chargeant pas
Modèles ne se chargeant pas
Assurez-vous que vous exécutez le serveur depuis le répertoire racine du projet, ou que le chemin des modèles est correctement configuré dans votre code.
En savoir plus
SDK Go
Documentation complète du SDK Go
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 boilerplate ?- 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