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 modèle utilise Go 1.21+ avec des modèles d’architecture propre (
cmd, internal, templates), des modèles HTML, et le dodopayments-go SDK pour une intégration API fluide.Fonctionnalités
- Configuration rapide - Commencez en moins de 5 minutes
- Intégration de paiement - Flux de paiement préconfiguré utilisant le
dodopayments-goSDK - UI moderne - Page de tarification propre avec un thème sombre et 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
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
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
Ajoutez vos produits
Mettez à jour
internal/lib/products.go avec vos véritables identifiants de produit de Dodo Payments :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 modèle 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