Passer au contenu principal
Gérez vos ressources Dodo Payments, exécutez des requêtes alimentées par l’IA sur votre compte, créez des sessions de paiement et testez des webhooks — le tout depuis le terminal. Le CLI est livré avec un TUI interactif, un assistant IA intégré alimenté par MCP, et le test de webhooks hors ligne.

Fonctionnalités

  • TUI interactif — lancez dodo sans arguments pour ouvrir l’interface interactive complète avec palette de commandes, historique et notifications en direct.
  • Assistant IA intégré — posez des questions ou effectuez des actions en anglais courant avec /ai. Aucune configuration supplémentaire, fonctionne dodopayments-mcp localement.
  • Sécurisé par défaut — les clés API sont stockées dans le magasin de secrets de votre système d’exploitation (macOS Keychain, Windows Credential Vault, Linux libsecret). Aucune configuration en texte clair sur le disque.
  • Mise à jour automatique — le CLI vérifie les nouvelles versions au démarrage et vous en informe dans l’application. Exécutez /update pour mettre à jour sur place.
  • Outils de webhook — écoutez les webhooks en direct ou déclenchez des charges utiles hors ligne pour le développement local.

Installation

Installez le CLI en une ligne sur macOS ou Linux :
curl -fsSL https://dodopayments.com/install.sh | sh

Installer avec npm ou Bun

Si vous avez déjà Node ou Bun, les installations via le gestionnaire de paquets tirent toujours la dernière version :
npm install -g dodopayments-cli

Installation manuelle (pas besoin de Node / Bun)

Si vous préférez ne pas transmettre un script distant à sh, téléchargez le binaire vous-même.
1

Download the binary

Téléchargez le binaire pour votre plateforme depuis la dernière version GitHub.
PlateformeBinaire
macOS (Apple Silicon)dodo-cli-darwin-arm64
macOS (Intel)dodo-cli-darwin-x64
Linux (x86_64)dodo-cli-linux-x64
Linux (arm64)dodo-cli-linux-arm64
Windows (x86_64)dodo-cli-windows-x64.exe
2

Rename the binary to `dodo`

mv ./dodo-cli-* ./dodo && chmod +x ./dodo
3

Move it to a directory on your PATH

sudo mv ./dodo /usr/local/bin/
Sur Windows, le déplacement vers C:\Windows\System32 nécessite des privilèges administrateur.
4

(Optional) Verify the download

Chaque version publie un SHA256SUMS.txt. Vérifiez votre téléchargement avec :
shasum -a 256 -c SHA256SUMS.txt

Authentification

Avant d’utiliser des commandes authentifiées, connectez-vous avec votre clé API :
dodo login
Ou, depuis l’intérieur du TUI interactif :
/login
Le flux de connexion :
  1. Ouvrira votre navigateur sur la page des clés API Dodo Payments.
  2. Vous demandera de coller votre clé API.
  3. Vous demandera de sélectionner un environnement — Mode Test ou Mode Live.
  4. Stockera les identifiants dans le magasin de secrets de votre système d’exploitation (Keychain sur macOS, Credential Vault sur Windows, libsecret sur Linux).
Comme les identifiants sont stockés dans le magasin de secrets de l’OS, il se peut que l’on vous demande votre mot de passe de l’appareil la première fois que le CLI lit ou écrit des identifiants. Si vous effectuez une mise à niveau à partir d’une ancienne version, toute clé API existante en texte clair sera migrée vers le magasin de secrets et le fichier héritage supprimé automatiquement.

Changer de mode et se déconnecter

Vous pouvez garder une clé Mode Test et une clé Mode Live authentifiées en même temps. Pour effacer les identifiants :
dodo logout
Le flux de déconnexion vous permet de choisir entre Tous les comptes, Mode Test ou Mode Live de manière indépendante.

Utilisation

Le CLI peut être utilisé de deux façons.

1. TUI interactif (recommandé)

Exécutez dodo sans arguments pour lancer l’interface interactive complète :
dodo
Tapez / pour ouvrir la palette de commandes, ou commencez simplement à taper — tout ce qui n’est pas une commande en barre oblique est envoyé à l’assistant IA.
CommandeDescription
/helpAfficher la référence des commandes
/updateVérifier et installer une mise à jour du CLI
/loginAuthentifier avec une clé API
/logoutSe déconnecter d’un ou tous les environnements
/clearEffacer l’écran du TUI
/exitQuitter le TUI (aussi : tapez exit, ou appuyez deux fois sur Esc)

2. Sous-commandes directes

Exécutez directement des commandes sans entrer dans le TUI :
dodo <category> <sub-command> [args...]
Par exemple :
dodo payments list 1
dodo customers create
dodo wh trigger
Les tableaux de référence ci-dessous affichent chaque commande. Dans le TUI, préfixez-les avec / ; en mode direct, supprimez le /.

Assistant IA

Posez des questions ou effectuez des actions en langage naturel. L’assistant utilise dodopayments-mcp s’exécutant localement — aucune configuration supplémentaire ou flux OAuth requis, et votre trafic IA ne quitte pas votre machine, sauf pour communiquer avec le fournisseur de modèle.
CommandeDescription
/ai <query>Poser une question à l’assistant IA ou lui donner une instruction
(texte non-commande)Envoyé à l’assistant IA par défaut lors du TUI
Exemples :
how much revenue did I make this week?
/ai create a new customer named Acme Inc.
/ai find my last failed payment
L’assistant respecte votre environnement actif (Test / Live), donc il ne fonctionne que sur les données de l’environnement dans lequel vous êtes actuellement connecté.

Échafaudage de projet

dodo init échafaude directement les routes de facturation de Dodo Payments dans un projet existant. Il génère les fichiers de route de base, installe le package d’adaptateur correspondant @dodopayments/*, et écrit en toute sécurité les variables d’environnement DODO_PAYMENTS_* dans votre .env (il n’ajoute que des variables qui ne sont pas déjà présentes). La commande fonctionne sans connexion.
dodo init <framework>
ÉchafaudageDescription
dodo init nextjsÉchafaude des routes de facturation App Router Next.js (checkout, portail client et gestionnaires de webhook) en utilisant @dodopayments/nextjs
dodo init expressÉchafaude des routes de facturation du serveur Express en utilisant @dodopayments/express
dodo init better-authÉchafaude une configuration de plugin Better-Auth en utilisant @dodopayments/better-auth
Pour l’échafaudage Better-Auth, vous pouvez passer une liste de plugins séparée par des virgules à générer (par défaut, tout) : checkout, portal, usage, webhooks.
# Scaffold every Better-Auth plugin (default)
dodo init better-auth

# Scaffold only specific plugins
dodo init better-auth checkout,portal
L’échafaudeur détecte automatiquement un répertoire src/ et ajuste les chemins de sortie en conséquence, et détecte automatiquement votre gestionnaire de paquets (bun, pnpm, yarn, ou npm) pour exécuter la commande d’installation correcte.

Référence de commande

Produits

Gérez votre catalogue de produits.
CommandeDescription
dodo products list <page>Lister les produits
dodo products createOuvrez le tableau de bord pour créer un produit
dodo products info <id>Voir les détails d’un produit spécifique

Paiements

Voir les transactions de paiement.
CommandeDescription
dodo payments list <page>Lister les paiements
dodo payments info <id>Obtenez des informations sur un paiement spécifique

Clients

Gérez votre base de clients.
CommandeDescription
dodo customers list <page>Lister les clients
dodo customers createCréer un nouveau client
dodo customers update <id>Mettre à jour un client existant

Réductions

Gérez les coupons et réductions.
CommandeDescription
dodo discounts list <page>Lister les réductions
dodo discounts createCréer une nouvelle réduction basée sur un pourcentage
dodo discounts delete <id>Supprimer une réduction par ID

Licences

Gérez les licences logicielles.
CommandeDescription
dodo licences list <page>Lister les licences

Addons

Gérez les addons de produit.
CommandeDescription
dodo addons list <page>Lister les addons
dodo addons createOuvrez le tableau de bord pour créer un addon
dodo addons info <id>Voir les détails d’un addon spécifique

Remboursements

Voir les informations de remboursement.
CommandeDescription
dodo refunds list <page>Lister les remboursements
dodo refunds info <id>Voir les détails d’un remboursement spécifique

Paiements

Créer des sessions de paiement hébergées.
CommandeDescription
dodo checkout newCréer de manière interactive une session de paiement hébergée et obtenir un lien de paiement

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 de webhook simulées à n’importe quel point de terminaison.
CommandeDescription
dodo wh listenÉcouter les webhooks en temps réel et les rediriger vers votre serveur de développement local
dodo wh triggerDéclencher un événement de webhook de test de manière interactive — même sans connexion

Écouter les webhooks

Rediriger les webhooks de Dodo Payments directement vers votre serveur de développement local en temps réel.
dodo wh listen
1

Enter your local endpoint URL

Fournissez l’URL locale où vous souhaitez recevoir les webhooks (par exemple, http://localhost:3000/webhook).
2

Automatic setup

Le CLI crée automatiquement un point de terminaison webhook sur votre compte Dodo Payments s’il n’en existe pas déjà un, puis ouvre une connexion WebSocket pour recevoir les événements en temps réel.
3

Receive and forward

Lorsqu’un événement 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 transfère la demande complète avec en-têtes et corps à votre point de terminaison local. La réponse de votre point de terminaison est enregistrée et renvoyée.
dodo wh listen nécessite une clé API en mode test. Les clés en mode direct ne sont pas prises en charge par le flux d’écoute.
L’écouteur préserve les en-têtes d’origine du webhook (webhook-id, webhook-signature, webhook-timestamp) lors du transfert vers votre point de terminaison local, vous permettant de tester votre logique de vérification de signature.

Déclencher des webhooks de test

Envoyer des charges de webhook simulées à n’importe quel point de terminaison pour un test rapide sans besoin de créer de véritables transactions.
dodo wh trigger
Le flux /wh trigger vous guide à travers :
  1. Définir une URL de destination de point de terminaison
  2. Sélectionner un événement spécifique à déclencher à partir d’un menu interactif
dodo wh trigger ne nécessite pas de connexion. Il fonctionne comme un générateur de charges de webhook local/hors ligne.
Les événements déclenchés ne sont pas signés. Lors des tests, désactivez la vérification de la signature du webhook sur votre point de terminaison — par exemple, utilisez unsafe_unwrap() au lieu de unwrap() dans votre gestionnaire de webhook uniquement pendant les tests.

Événements de webhook pris en charge

CatégorieÉvénements
Abonnementactive, updated, on_hold, renewed, plan_changed, cancelled, failed, expired
Paiementsucceeded, failed, processing, cancelled
Remboursementsucceeded, failed
Litigeopened, expired, accepted, cancelled, challenged, won, lost
Licencecreated

Variables d’environnement

VariableDescription
DODO_WH_TEST_SERVER_URLRemplacer l’URL du serveur relais de webhook par défaut utilisée par dodo wh listen

Mises à jour

Le CLI vérifie s’il existe une nouvelle version au démarrage et affiche une notification dans la barre d’état lorsqu’une mise à jour est disponible. Pour mettre à jour :
/update
Ou, ré-exécutez l’installateur pour mettre à jour sur place :
curl -fsSL https://dodopayments.com/install.sh | sh

Ressources

GitHub Repository

Voir le code source et les versions

npm Package

Voir sur le registre npm

Support

Last modified on June 9, 2026