Skip to main content
Dodo CLI gestisce le risorse di Dodo Payments, risponde alle domande sul tuo account con un assistente AI integrato, crea sessioni di checkout e testa i webhook, tutto dal tuo terminale. Usa la sua TUI interattiva oppure esegui subcommand diretti dagli script.

Funzionalità

  • TUI interattiva: esegui dodo senza argomenti per aprire l’interfaccia interattiva, con tavolozza dei comandi, cronologia e notifiche in tempo reale.
  • Assistente AI integrato: poni domande o esegui azioni in linguaggio naturale con /ai. L’assistente esegue dodopayments-mcp localmente e non richiede configurazioni aggiuntive.
  • Credenziali crittografate: le chiavi API sono memorizzate in ~/.dodopayments/config.json, crittografate con AES-256-GCM e una chiave derivata dal tuo computer. Sul disco non vengono memorizzate credenziali in testo normale.
  • Aggiornamento automatico: CLI verifica la disponibilità di nuove versioni all’avvio e ti avvisa nella TUI. Per le installazioni tramite npm e Bun, esegui /update per aggiornare direttamente.
  • Strumenti per i webhook: inoltra i webhook in modalità test al tuo server locale oppure invia payload webhook simulati offline.
  • Scaffolding: aggiungi route di billing ai progetti Next.js, Express e Better Auth con dodo init.

Installazione

Su macOS o Linux, installa il binario dell’ultima release con lo script di installazione:
Lo script verifica il binario confrontandolo con i checksum SHA-256 della release. Installa dodo nella prima directory scrivibile tra /usr/local/bin, ~/.local/bin e ~/bin oppure in ~/.local/bin se nessuna di queste è scrivibile. Per installare una release specifica, imposta la variabile d’ambiente DODO_VERSION sul relativo tag. Per scegliere la directory, imposta DODO_INSTALL_DIR.

Installazione con NPM o Bun

Se disponi di Node.js o Bun, installa globalmente il pacchetto dodopayments-cli. Le installazioni tramite package manager utilizzano l’ultima versione pubblicata:
I subcommand diretti come dodo login vengono eseguiti su Node.js 18 o versioni successive. Quando installi tramite un package manager, anche la TUI interattiva richiede Bun. I binari delle release non richiedono alcun runtime.

Installazione manuale (senza Node / Bun)

Per installare senza eseguire uno script remoto, scarica autonomamente il binario.
1

Download the Binary

Scarica il binario per la tua piattaforma dall’ultima GitHub Release.
2

Rename the Binary to dodo

3

Move It to a Directory on Your PATH

Su Windows, spostare il file in C:\Windows\System32 richiede privilegi di amministratore.
4

(Optional) Verify the Download

Ogni release pubblica un file SHA256SUMS.txt. Scaricalo accanto al binario, quindi verifica il binario:

Autenticazione

Accedi con una chiave API prima di eseguire comandi che leggono o modificano il tuo account. Per accedere con un subcommand diretto, passa la chiave e la relativa modalità, test o live:
Oppure, dall’interno della TUI interattiva:
Il flusso di accesso della TUI:
  1. Apre nel browser la pagina Developer → API Keys della dashboard.
  2. Ti chiede di incollare la chiave API.
  3. Ti chiede di scegliere Test Mode o Live Mode.
Entrambi i comandi verificano la chiave con una richiesta all’API, quindi la memorizzano crittografata in ~/.dodopayments/config.json.
La chiave di crittografia viene derivata dal tuo computer, quindi le credenziali memorizzate funzionano solo su quel computer. Se esegui l’upgrade dalla versione v3.0.x, che memorizzava le chiavi nel portachiavi del sistema operativo, esegui nuovamente dodo login. Le chiavi nel precedente file in testo normale ~/.dodopayments/api-key vengono migrate automaticamente e il file viene eliminato.

Cambiare modalità e disconnettersi

Puoi mantenere contemporaneamente una chiave in modalità test e una chiave in modalità live. Per cambiare la modalità attiva nella TUI, esegui /switch. Per rimuovere le chiavi memorizzate:
In modalità diretta, passa test, live o all. Nella TUI, /logout ti chiede di scegliere All accounts, Test Mode o Live Mode, quindi ti chiede di confermare.

Utilizzo

Puoi usare CLI in due modalità.

1. TUI interattiva (consigliata)

Esegui dodo senza argomenti per aprire l’interfaccia interattiva:
Digita / per aprire la tavolozza dei comandi. Il testo che non inizia con / viene inviato all’assistente AI.

2. Subcommand diretti

Esegui un comando senza aprire la TUI:
Ad esempio:
Le tabelle di riferimento riportate di seguito elencano ogni comando nella modalità diretta. Nella TUI, sostituisci dodo con /, ad esempio /payments list 1. I comandi contrassegnati come TUI only sono procedure guidate interattive. In modalità diretta, stampano un messaggio che ti indica di aprire la TUI.

Assistente AI

Poni domande sul tuo account o esegui azioni in linguaggio naturale. L’assistente esegue dodopayments-mcp sul tuo computer, quindi non richiede configurazioni aggiuntive né un flusso OAuth. Chiama l’API di Dodo Payments dal tuo computer usando la chiave memorizzata e invia i tuoi prompt al modello linguistico. In modalità diretta, esegui dodo ai seguito dalla tua domanda. Esempi nella TUI:
L’assistente usa la modalità attiva (modalità test o modalità live) e funziona solo con i dati di quella modalità.

Scaffolding del progetto

dodo init aggiunge route di billing di Dodo Payments a un progetto esistente. Scrive i file delle route, installa il pacchetto adapter @dodopayments/* corrispondente e aggiunge al file .env le variabili DODO_PAYMENTS_* mancanti con valori segnaposto. Ignora i file e le variabili già esistenti ed esegue il comando senza effettuare l’accesso.
Per lo scaffolding Better-Auth, puoi passare un elenco separato da virgole di plugin da generare: checkout, portal, usage e webhooks. Se non specifichi alcun elenco, vengono generati tutti e quattro.
Se il tuo progetto dispone di una directory src/, lo scaffolder scrive i file al suo interno. Sceglie il comando di installazione dal file di lock del progetto (bun, pnpm o yarn) e usa npm quando non ne trova nessuno.

Riferimento dei comandi

Questi comandi richiedono una chiave API autenticata. I comandi di elenco accettano un numero di pagina facoltativo, che per impostazione predefinita è 1, e mostrano fino a 100 elementi per pagina.

Prodotti

Gestisci il catalogo dei prodotti.

Pagamenti

Visualizza le transazioni di pagamento.

Clienti

Gestisci i tuoi clienti.

Sconti

Gestisci i codici sconto.

Licenze

Visualizza le chiavi di licenza. Il comando si scrive licences.

Addon

Gestisci gli addon dei prodotti.

Rimborsi

Visualizza le informazioni sui rimborsi.

Checkout

Crea sessioni di checkout ospitate.

Webhook

CLI dispone di due strumenti per webhook destinati allo sviluppo: un listener che inoltra i webhook in modalità test al tuo server locale e un trigger che invia payload webhook simulati a qualsiasi endpoint. In modalità diretta, gli argomenti sono obbligatori. Nella TUI, esegui /wh listen o /wh trigger senza argomenti per aprire una procedura guidata interattiva.

Ascoltare i webhook

Inoltra in tempo reale i webhook dal tuo account Dodo Payments al server di sviluppo locale.
dodo wh listen richiede una chiave API in Test Mode. Le chiavi in Live Mode non sono supportate dal flusso di ascolto.
1

Enter Your Local Endpoint URL

Passa l’URL locale che deve ricevere i webhook, ad esempio http://localhost:3000/webhook. Nella procedura guidata della TUI, CLI te lo chiede.
2

Automatic Setup

Se il tuo account non dispone di un endpoint webhook per il relay server di CLI, CLI ne crea uno. L’endpoint appare in Developer → Webhooks. CLI apre quindi una connessione WebSocket al relay per ricevere gli eventi in tempo reale.
3

Receive and Forward

Quando si attiva un evento webhook, ad esempio a seguito di un pagamento di test o di una modifica dell’abbonamento, CLI inoltra il payload e gli header al tuo endpoint locale come richiesta POST. Registra il tipo di evento e la risposta del tuo endpoint e invia la risposta al relay.
Il listener conserva gli header webhook originali (webhook-id, webhook-signature, webhook-timestamp) durante l’inoltro al tuo endpoint locale, così puoi testare la logica di verifica della firma.
Il relay e la CLI analizzano il corpo JSON e lo serializzano nuovamente prima di inoltrarlo. Se il corpo inoltrato differisce byte per byte dall’originale, ad esempio nella formattazione dei numeri, la verifica della firma non va a buon fine anche se le intestazioni sono intatte.

Attivare webhook di test

Invia un payload webhook simulato a qualsiasi endpoint, senza creare transazioni reali.
Gli eventi attivati non sono firmati: la richiesta non contiene l’header webhook-id, webhook-signature o webhook-timestamp. Durante i test, analizzali con il metodo non verificato (unsafeUnwrap in TypeScript, unsafe_unwrap in Python, UnsafeUnwrap in Go) invece di unwrap e torna a usare unwrap prima di andare in produzione.
In modalità diretta, il payload utilizza ID e dettagli cliente segnaposto. La procedura guidata /wh trigger nella TUI ti accompagna attraverso questi passaggi:
  1. Impostazione di un URL endpoint di destinazione.
  2. Inserimento facoltativo di Business ID, Product ID, Metadata (un oggetto JSON), Customer email e Customer ID per il payload. I campi vuoti utilizzano valori segnaposto.
  3. Selezione di un evento da inviare tramite un menu interattivo. Puoi inviare diversi eventi consecutivamente. Scegli exit per terminare.
dodo wh trigger non richiede l’accesso. Funziona come generatore locale e offline di payload webhook.

Eventi webhook supportati

dodo wh trigger può inviare payload simulati per 46 dei 48 tipi di evento forniti da Dodo Payments. Non supporta subscription.past_due o subscription.unpaused. Passa il nome dell’evento esattamente come riportato: Tre nomi dei trigger differiscono dal nome dell’evento type nel payload che inviano: payment.success invia payment.succeeded, refund.success invia refund.succeeded e licence.created invia license_key.created.
Le strutture dei payload simulati seguono gli schemi corrispondenti nel riferimento API. Consulta Webhook Events per sapere cosa significa ogni evento e quando Dodo Payments lo genera in produzione.
payout.created viene generato mentre il payout riporta ancora uno stato not_initiated, quindi anche il payload simulato lo riflette. Consulta Payout Events per il ciclo di vita completo del payout.

Variabili d’ambiente

Questa variabile modifica il modo in cui dodo wh listen si connette:

Aggiornamenti

CLI verifica la disponibilità di una versione più recente all’avvio e mostra una notifica nella barra di stato quando è disponibile. Per aggiornare un’installazione npm o Bun dalla TUI, esegui:
/update non può aggiornare un binario di release. Per le installazioni tramite binario, incluse quelle effettuate con lo script di installazione, rimanda invece all’ultima release su GitHub. Per aggiornare dalla shell, esegui nuovamente il comando usato per l’installazione:

Risorse

GitHub Repository

Codice sorgente e release.

npm Package

Il pacchetto dodopayments-cli nel registro npm.

Supporto

Ultima modifica il 26 settembre 2026