Funzionalità
- TUI interattiva: esegui
dodosenza 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 eseguedodopayments-mcplocalmente 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
/updateper 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: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 pacchettododopayments-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:
- Apre nel browser la pagina Developer → API Keys della dashboard.
- Ti chiede di incollare la chiave API.
- Ti chiede di scegliere Test Mode o Live Mode.
~/.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:
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)
Eseguidodo senza argomenti per aprire l’interfaccia interattiva:
/ 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: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 eseguedodopayments-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:
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 scrivelicences.
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.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 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./wh trigger nella TUI ti accompagna attraverso questi passaggi:
- Impostazione di un URL endpoint di destinazione.
- 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.
- 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.
Variabili d’ambiente
Questa variabile modifica il modo in cuidodo 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
- Discord: unisciti al server della community.
- GitHub: apri una segnalazione nel repository.
- Email: contatta support@dodopayments.com.