Ce tutoriel fournit un exemple de code d’implémentation pour une application Node.js/Express. Vous pouvez adapter ce code à votre framework spécifique (Next.js, React, Vue, etc.) et personnaliser l’interface utilisateur selon les besoins de votre application.
- Créer des produits d’abonnement avec une tarification basée sur les sièges
- Configurer des options supplémentaires pour des sièges additionnels
- Générer des liens de paiement avec des quantités d’options personnalisées
- Gérer des sessions de paiement avec des comptes de sièges dynamiques
Ce que nous construisons
Créons un modèle de tarification basé sur les sièges :- Plan de base : 49 $/mois pour jusqu’à 5 membres d’équipe
- Option supplémentaire pour siège : 2 $/mois par siège additionnel
- Liens de paiement : Paiement dynamique avec des quantités de sièges personnalisées
Avant de commencer, assurez-vous de disposer de :
- Un compte Dodo Payments
- Une connaissance basique de TypeScript/Node.js
Étape 1 : Créez votre option supplémentaire pour siège
Nous devons maintenant créer une option supplémentaire qui représente des sièges additionnels. Cette option sera attachée à notre abonnement de base et permettra aux clients d’acheter des sièges supplémentaires.
Navigate to Add-Ons
- Dans votre console Dodo Payments, restez dans la section Products
- Cliquez sur l’onglet Add-Ons
- Cliquez sur Create Add-On
Enter add-on details
Remplissez ces valeurs pour notre add-on de sièges :Add-On Name:
Additional Team SeatDescription: Add extra team members to your workspace with full access to all featuresPrice: Saisissez → 2.00Devise : Doit correspondre à la devise de votre abonnement de baseCatégorie fiscale : Sélectionnez la catégorie appropriée pour votre produit.Étape 2 : Créez votre produit d’abonnement de base
Nous allons commencer par créer un produit d’abonnement de base qui inclut 5 membres d’équipe. Cela sera la base de notre modèle de tarification basé sur les sièges.
Navigate to Products
- Connectez-vous à votre console Dodo Payments
- Cliquez sur Products dans la barre latérale gauche
- Cliquez sur le bouton Create Product
- Sélectionnez Subscription comme type de produit
Fill in the subscription details
Nous allons maintenant saisir les détails spécifiques pour notre plan de base :Product Name:
MotionDescription: Where your team's documentation lives.Recurring Price: Saisissez → 49.00Billing Cycle: Sélectionnez → MonthlyCurrency: Choisissez votre devise préférée (par exemple, USD)Étape 3 : Connecter l’option supplémentaire à l’abonnement
Nous devons maintenant associer notre option supplémentaire pour siège avec l’abonnement de base afin que les clients puissent acheter des sièges supplémentaires lors du paiement.Attach the seat add-on

- Faites défiler vers le bas jusqu’à la section Options supplémentaires
- Cliquez sur Ajouter des options supplémentaires
- Dans le menu déroulant, sélectionnez votre option supplémentaire pour siège
- Confirmez qu’elle apparaît dans la configuration de votre abonnement
Save subscription changes
- Passez en revue la configuration complète de votre abonnement :
- Plan de base : 49 $/mois pour 5 sièges
- Add-on : 2 $/mois par siège supplémentaire
- Période d’essai gratuite : 14 jours
- Cliquez sur Save Changes
Tarification basée sur les sièges configurée ! Les clients peuvent désormais acheter votre plan de base et ajouter des sièges supplémentaires selon leurs besoins.
Étape 4 : Générer des liens de paiement avec des quantités d’options personnalisées
Créons maintenant une application Express.js qui génère des liens de paiement avec des quantités d’options personnalisées. C’est là que la véritable puissance de la tarification basée sur les sièges entre en jeu - vous pouvez créer dynamiquement des sessions de paiement avec n’importe quel nombre de sièges supplémentaires.Set up your project
Créez un nouveau projet Node.js et installez les dépendances requises :Créez un fichier
tsconfig.json :Add a simple web interface
Créez un fichier
public/index.html pour faciliter les tests :Interface Web créée ! Vous disposez maintenant d’une interface simple pour tester différentes quantités de sièges.
Étape 5 : Testez votre implémentation
Testons notre implémentation de tarification basée sur les sièges pour nous assurer que tout fonctionne correctement.Start your server
- Assurez-vous d’avoir le fichier
.envavec la clé API correcte - Mettez à jour les identifiants du produit et de l’add-on dans votre code avec les valeurs réelles de votre console Dodo Payments
- Démarrez votre serveur :
Votre serveur devrait démarrer correctement et afficher « Server running on http://localhost:3000 »
Test the web interface

- Ouvrez votre navigateur et allez sur
http://localhost:3000 - Vous devriez voir l’interface de démonstration de tarification par siège
- Essayez différentes quantités de sièges (0, 3, 10, etc.)
- Cliquez sur « Generate Checkout Link » pour chaque quantité
- Vérifiez que les URL de paiement sont générées correctement
Test a checkout session
- Générez un lien de paiement avec 3 sièges supplémentaires
- Cliquez sur l’URL de paiement pour ouvrir le checkout Dodo Payments
- Vérifiez que le checkout affiche :
- Plan de base : 49 $/mois
- Sièges supplémentaires : 3 × 2 /mois
- Complétez l’achat de test
Le checkout devrait afficher le détail de facturation correct et vous permettre de finaliser l’achat.
Listen for webhooks and update your DB
Pour maintenir votre base de données synchronisée avec les changements d’abonnement et de sièges, vous devez écouter les événements webhook de Dodo Payments. Les webhooks notifient votre backend lorsqu’un client finalise un checkout, met à jour son abonnement ou modifie le nombre de sièges.Suivez le guide officiel des webhooks de Dodo Payments pour des instructions étape par étape sur la configuration des points de terminaison de webhook et le traitement des événements :
Dodo Payments Webhooks Documentation
Découvrez comment recevoir et traiter de manière sécurisée les événements webhook pour la gestion des abonnements et des sièges.
Dépannage
Problèmes courants et leurs solutions :Checkout creation failing
Checkout creation failing
Causes possibles :
- Identifiant de produit ou d’add-on invalide
- La clé API ne dispose pas des autorisations suffisantes
- L’add-on n’est pas correctement associé à l’abonnement
- Problèmes de connectivité réseau
- Vérifiez que les identifiants de produit et d’add-on existent dans votre console Dodo Payments
- Assurez-vous que l’add-on est correctement rattaché à l’abonnement
- Vérifiez que la clé API peut créer des sessions de paiement
- Testez la connectivité à l’API avec une simple requête GET
Félicitations ! Vous avez mis en œuvre la tarification basée sur les sièges
Vous avez réussi à créer un système de tarification basé sur les sièges avec Dodo Payments ! Voici ce que vous avez accompli :Base Subscription
Création d’un produit d’abonnement avec 5 sièges inclus à 49 $/mois
Seat Add-ons
Ajout des add-ons pour les sièges supplémentaires à 2 $/mois par siège
Checkout
Création d’une API qui génère des sessions de paiement avec des quantités de sièges personnalisées
Web Interface
Création d’une interface web simple pour tester différentes quantités de sièges
Cet exemple ne montre qu’une implémentation minimale de la tarification par siège. En production, ajoutez une gestion robuste des erreurs, l’authentification, la validation des données, des mesures de sécurité et adaptez la logique aux besoins de votre application.