Gérez vos ressources Dodo Payments, créez des sessions de paiement et testez les webhooks directement depuis le terminal. Conçu pour les développeurs qui préfèrent la ligne de commande.
Installation
npm install -g dodopayments-cli
Installation manuelle
- Téléchargez la dernière version depuis GitHub Releases pour votre système
- Extrayez-la et renommez le binaire en
dodo
- Déplacez-le dans un répertoire présent dans votre PATH :
sudo mv ./dodo /usr/local/bin/
Authentification
Avant d’utiliser le CLI, authentifiez-vous avec votre clé d’API :
Cela va :
- Ouvrir votre navigateur sur la page des clés API Dodo Payments
- Vous inviter à saisir votre clé d’API
- Vous demander de sélectionner l’environnement (Mode Test ou Mode Live)
- Stocker vos identifiants localement dans
~/.dodopayments/api-key
Le CLI prend en charge le stockage d’une clé API par environnement. Si des clés pour le mode test et le mode live sont configurées, il vous sera demandé de choisir l’environnement à utiliser pour la session en cours.
Utilisation
La syntaxe générale est :
dodo ‹category› ‹sub-command›
L’exécution de dodo sans argument affiche toutes les catégories disponibles. L’exécution de dodo <category> sans sous-commande affiche les sous-commandes disponibles pour cette catégorie.
Produits
Gérez votre catalogue de produits.
| Commande | Description |
|---|
dodo products list | Liste tous les produits (avec pagination) |
dodo products create | Ouvre le tableau de bord pour créer un produit |
dodo products info | Affiche les détails d’un produit spécifique |
Paiements
Consultez les transactions de paiement.
| Commande | Description |
|---|
dodo payments list | Liste tous les paiements (avec pagination) |
dodo payments info | Récupère des informations sur un paiement spécifique |
Clients
Gérez votre base de clients.
| Commande | Description |
|---|
dodo customers list | Liste tous les clients (avec pagination) |
dodo customers create | Crée un nouveau profil client |
dodo customers update | Met à jour les informations d’un client existant |
Réductions
Gérez les coupons et les remises.
| Commande | Description |
|---|
dodo discounts list | Liste toutes les remises (avec pagination) |
dodo discounts create | Crée une nouvelle remise en pourcentage |
dodo discounts delete | Supprime une remise par ID |
Licences
Gérez les licences logicielles.
| Commande | Description |
|---|
dodo licences list | Liste toutes les clés de licence (avec pagination) |
Addons
Gérez les modules complémentaires de produit.
| Commande | Description |
|---|
dodo addons list | Liste tous les addons (avec pagination) |
dodo addons create | Ouvre le tableau de bord pour créer un addon |
dodo addons info | Affiche les détails d’un addon spécifique |
Remboursements
Consultez les informations de remboursement.
| Commande | Description |
|---|
dodo refund list | Liste tous les remboursements (avec pagination) |
dodo refund info | Affiche les détails d’un remboursement spécifique |
Paiement en ligne
Créez des sessions de paiement.
| Commande | Description |
|---|
dodo checkout new | Crée une nouvelle session de paiement et récupère l’URL de paiement |
La commande de paiement prend en charge des options avancées incluant la collecte minimale d’adresses, l’URL de retour, l’activation 3D Secure, les codes de réduction et les métadonnées.
Test des Webhooks
Le CLI inclut deux outils puissants pour tester les webhooks pendant le développement : un écouteur qui redirige les webhooks de test en direct vers votre serveur local, et un déclencheur qui envoie des charges utiles simulées vers n’importe quel endpoint.
Écouter les Webhooks
Transférez les webhooks de Dodo Payments directement vers votre serveur de développement local en temps réel.
Enter your local endpoint URL
Indiquez l’URL locale à laquelle vous souhaitez recevoir les webhooks (par exemple http://localhost:3000/webhook).
Automatic setup
Le CLI crée automatiquement un endpoint de webhook sur votre compte Dodo Payments si aucun n’existe déjà, puis ouvre une connexion WebSocket pour recevoir les événements en temps réel.
Receive and forward
Lorsqu’un événement de webhook se déclenche (à partir d’un paiement de test, d’un changement d’abonnement, etc.), le CLI le reçoit, enregistre le type d’événement et transmet la requête complète avec les en-têtes et le corps à votre endpoint local. La réponse de votre endpoint est enregistrée et renvoyée.
L’écouteur de webhooks fonctionne uniquement avec une clé API en mode test. Assurez-vous d’être connecté avec une clé en mode test avant d’utiliser dodo wh listen.
L’écouteur conserve les en-têtes Webhook d’origine (webhook-id, webhook-signature, webhook-timestamp) lors du transfert vers votre endpoint local, afin que vous puissiez tester votre logique de vérification de signature.
Déclencher des Webhooks de Test
Envoyez des charges utiles simulées vers n’importe quel endpoint pour des tests rapides sans avoir à créer de vraies transactions.
Cela vous guide à travers :
- Définir une URL de destination
- Configurer éventuellement un ID d’entreprise, un ID de produit et des métadonnées
- Sélectionner un événement spécifique à déclencher depuis un menu interactif
- Envoyer la charge utile simulée et visualiser la réponse
Après chaque événement, vous pouvez en sélectionner un autre à déclencher ou quitter — ce qui facilite le test de plusieurs gestionnaires d’événements dans une même session.
L’outil de déclenchement envoie des charges utiles simulées sans signatures de webhook. Désactivez la vérification des signatures de webhook pendant les tests en utilisant unsafe_unwrap() à la place de unwrap() dans votre gestionnaire de webhook.
Événements Webhook pris en charge
| Catégorie | Événements |
|---|
| Abonnement | subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired |
| Paiement | payment.success, payment.failed, payment.processing, payment.cancelled |
| Remboursement | refund.success, refund.failed |
| Litige | dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost |
| Licence | licence.created |
Variables d’environnement
| Variable | Description |
|---|
DODO_WH_TEST_SERVER_URL | Remplace l’URL par défaut du serveur de relais webhook utilisée par dodo wh listen |
Ressources
Support