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 :

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 :

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.
2

Rename the binary to `dodo`

3

Move it to a directory on your PATH

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 :

Authentification

Avant d’utiliser des commandes authentifiées, connectez-vous avec votre clé API :
Ou, depuis l’intérieur du TUI interactif :
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 :
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 :
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.

2. Sous-commandes directes

Exécutez directement des commandes sans entrer dans le TUI :
Par exemple :
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. Exemples :
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.
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.
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.

Paiements

Voir les transactions de paiement.

Clients

Gérez votre base de clients.

Réductions

Gérez les coupons et réductions.

Licences

Gérez les licences logicielles.

Addons

Gérez les addons de produit.

Remboursements

Voir les informations de remboursement.

Paiements

Créer des sessions de paiement hébergées.

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.

Écouter les webhooks

Rediriger les webhooks de Dodo Payments directement vers votre serveur de développement local en temps réel.
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.
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

Variables d’environnement

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 :
Ou, ré-exécutez l’installateur pour mettre à jour sur place :

Ressources

GitHub Repository

Voir le code source et les versions

npm Package

Voir sur le registre npm

Support

Dernière modification le 9 juin 2026