Funktionen
- Interaktive TUI: Führe
dodoohne Argumente aus, um die interaktive Oberfläche mit Befehlspalette, Verlauf und Live-Benachrichtigungen zu öffnen. - Integrierter KI-Assistent: Stelle mit
/aiFragen oder führe Aktionen in einfachem Englisch aus. Der Assistent führtdodopayments-mcplokal aus und benötigt keine zusätzliche Einrichtung. - Verschlüsselte Zugangsdaten: API-Schlüssel werden in
~/.dodopayments/config.jsongespeichert, mit AES-256-GCM und einem von deinem Rechner abgeleiteten Schlüssel verschlüsselt. Es werden keine Zugangsdaten im Klartext auf der Festplatte gespeichert. - Automatische Aktualisierung: Die CLI prüft beim Start auf neue Versionen und benachrichtigt dich in der TUI. Bei Installationen mit npm und Bun führst du
/updateaus, um direkt zu aktualisieren. - Webhook-Tools: Leite Webhooks im Testmodus an deinen lokalen Server weiter oder sende offline simulierte Webhook-Payloads.
- Gerüst-Erstellung: Füge mit
dodo initBilling-Routen zu Next.js-, Express- und Better-Auth-Projekten hinzu.
Installation
Installiere unter macOS oder Linux die Binärdatei der neuesten Version mit dem Installationsskript:dodo im ersten beschreibbaren Verzeichnis aus /usr/local/bin, ~/.local/bin und ~/bin oder in ~/.local/bin, falls keines davon beschreibbar ist. Um eine bestimmte Version zu installieren, setze die Umgebungsvariable DODO_VERSION auf deren Tag. Um das Verzeichnis auszuwählen, setze DODO_INSTALL_DIR.
Installation mit NPM oder Bun
Wenn du Node.js oder Bun installiert hast, installiere das Paketdodopayments-cli global. Installationen über Paketmanager laden die zuletzt veröffentlichte Version herunter:
Direkte Subcommands wie
dodo login laufen mit Node.js 18 oder höher. Bei der Installation über einen Paketmanager benötigt die interaktive TUI außerdem Bun. Versions-Binärdateien benötigen keine dieser Laufzeitumgebungen.Manuelle Installation (ohne Node / Bun)
Um die Installation ohne Ausführung eines Remote-Skripts durchzuführen, lade die Binärdatei selbst herunter.1
Download the Binary
Lade die Binärdatei für deine Plattform aus dem neuesten GitHub-Release herunter.
2
Rename the Binary to dodo
3
Move It to a Directory on Your PATH
Unter Windows erfordert das Verschieben der Datei nach
C:\Windows\System32 Administratorrechte.4
(Optional) Verify the Download
Für jede Version wird eine Datei
SHA256SUMS.txt veröffentlicht. Lade sie neben der Binärdatei herunter und überprüfe anschließend die Binärdatei:Authentifizierung
Melde dich mit einem API-Schlüssel an, bevor du Befehle ausführst, die dein Konto lesen oder ändern. Um dich mit einem direkten Subcommand anzumelden, übergib den Schlüssel und seinen Modus,test oder live:
- Öffnet in deinem Browser die Seite Developer → API Keys des Dashboards.
- Fordert dich auf, deinen API-Schlüssel einzufügen.
- Bittet dich, Test Mode oder Live Mode auszuwählen.
~/.dodopayments/config.json.
Der Verschlüsselungsschlüssel wird von deinem Rechner abgeleitet. Daher funktionieren die gespeicherten Zugangsdaten nur auf diesem Rechner. Wenn du von v3.0.x aktualisierst, das Schlüssel im Schlüsselbund des Betriebssystems gespeichert hat, führe
dodo login erneut aus. Schlüssel in der älteren Klartextdatei ~/.dodopayments/api-key werden automatisch migriert und die Datei wird gelöscht.Modi wechseln und abmelden
Du kannst gleichzeitig einen Schlüssel für den Testmodus und einen für den Live-Modus angemeldet haben. Um den aktiven Modus in der TUI zu wechseln, führe/switch aus. So entfernst du gespeicherte Schlüssel:
test, live oder all. In der TUI fordert dich /logout auf, All accounts, Test Mode oder Live Mode auszuwählen, und bittet dich anschließend um eine Bestätigung.
Verwendung
Du kannst die CLI in zwei Modi verwenden.1. Interaktive TUI (empfohlen)
Führedodo ohne Argumente aus, um die interaktive Oberfläche zu öffnen:
/ ein, um die Befehlspalette zu öffnen. Text, der nicht mit / beginnt, wird an den KI-Assistenten gesendet.
2. Direkte Subcommands
Führe einen Befehl aus, ohne die TUI zu öffnen:dodo durch /, zum Beispiel durch /payments list 1. Mit TUI only gekennzeichnete Befehle sind interaktive Assistenten. Im direkten Modus geben sie eine Meldung aus, die dich auffordert, die TUI zu öffnen.
KI-Assistent
Stelle Fragen zu deinem Konto oder führe Aktionen in einfachem Englisch aus. Der Assistent läuftdodopayments-mcp auf deinem Rechner und benötigt daher keine zusätzliche Einrichtung oder OAuth-Ablauf. Er ruft die Dodo Payments API mit deinem gespeicherten Schlüssel von deinem Rechner aus auf und sendet deine Eingaben an das Sprachmodell.
Führe im direkten Modus
dodo ai gefolgt von deiner Frage aus. Beispiele in der TUI:
Gerüst-Erstellung für Projekte
dodo init fügt einem bestehenden Projekt Dodo Payments-Billing-Routen hinzu. Der Befehl schreibt die Routendateien, installiert das passende Adapterpaket @dodopayments/* und ergänzt fehlende Variablen DODO_PAYMENTS_* mit Platzhalterwerten in deiner Datei .env. Bereits vorhandene Dateien und Variablen werden übersprungen. Der Befehl wird ohne Anmeldung ausgeführt.
Für das Better-Auth-Gerüst kannst du eine durch Kommas getrennte Liste von Plugins zur Generierung übergeben:
checkout, portal, usage und webhooks. Ohne Liste werden alle vier generiert.
Wenn dein Projekt ein Verzeichnis
src/ enthält, schreibt der Gerüst-Generator die Dateien darin. Er wählt den Installationsbefehl anhand der Lock-Datei deines Projekts (bun, pnpm oder yarn) und verwendet npm, wenn keine gefunden wird.Befehlsreferenz
Diese Befehle benötigen einen angemeldeten API-Schlüssel. Listenbefehle akzeptieren eine optionale Seitennummer, die standardmäßig 1 ist, und zeigen bis zu 100 Elemente pro Seite an.Produkte
Verwalte deinen Produktkatalog.Zahlungen
Zeige Zahlungstransaktionen an.Kunden
Verwalte deine Kunden.Rabatte
Verwalte Rabattcodes.Lizenzen
Zeige Lizenzschlüssel an. Der Befehl wirdlicences geschrieben.
Add-ons
Verwalte Produkt-Add-ons.Rückerstattungen
Zeige Informationen zu Rückerstattungen an.Checkout
Erstelle gehostete Checkout-Sitzungen.Webhooks
Die CLI bietet zwei Webhook-Tools für die Entwicklung: einen Listener, der Webhooks im Testmodus an deinen lokalen Server weiterleitet, und einen Trigger, der simulierte Webhook-Payloads an einen beliebigen Endpunkt sendet.
Im direkten Modus sind die Argumente erforderlich. Führe in der TUI
/wh listen oder /wh trigger ohne Argumente aus, um einen interaktiven Assistenten zu öffnen.
Auf Webhooks warten
Leite Webhooks von deinem Dodo Payments-Konto in Echtzeit an deinen lokalen Entwicklungsserver weiter.1
Enter Your Local Endpoint URL
Übergebe die lokale URL, die Webhooks empfangen soll, zum Beispiel
http://localhost:3000/webhook. Im TUI-Assistenten fordert dich die CLI dazu auf.2
Automatic Setup
Wenn dein Konto keinen Webhook-Endpunkt für den Relay-Server der CLI besitzt, erstellt die CLI einen. Der Endpunkt wird unter Developer → Webhooks angezeigt. Anschließend öffnet die CLI eine WebSocket-Verbindung zum Relay, um Ereignisse in Echtzeit zu empfangen.
3
Receive and Forward
Wenn ein Webhook-Ereignis ausgelöst wird, beispielsweise durch eine Testzahlung oder eine Änderung eines Abonnements, leitet die CLI Payload und Header als
POST-Anfrage an deinen lokalen Endpunkt weiter. Sie protokolliert den Ereignistyp und die Antwort deines Endpunkts und sendet die Antwort an das Relay zurück.Das Relay und die CLI analysieren den JSON-Body und serialisieren ihn vor der Weiterleitung erneut. Wenn sich der weitergeleitete Body Byte für Byte vom ursprünglichen unterscheidet, beispielsweise bei der Zahlenformatierung, schlägt die Signaturüberprüfung fehl, obwohl die Header unverändert sind.
Test-Webhooks auslösen
Sende eine simulierte Webhook-Payload an einen beliebigen Endpunkt, ohne echte Transaktionen zu erstellen./wh trigger-Assistent in der TUI führt dich durch folgende Schritte:
- Festlegen einer Ziel-Endpunkt-URL.
- Optionales Eingeben von Business ID, Product ID, Metadata (einem JSON-Objekt), Customer email und Customer ID für die Payload. Leere Felder verwenden Platzhalterwerte.
- Auswählen eines zu sendenden Ereignisses aus einem interaktiven Menü. Du kannst mehrere Ereignisse nacheinander senden. Wähle exit, um den Vorgang zu beenden.
dodo wh trigger erfordert keine Anmeldung. Es funktioniert als lokaler Offline-Generator für Webhook-Payloads.Unterstützte Webhook-Ereignisse
dodo wh trigger kann simulierte Payloads für 46 der 48 von Dodo Payments bereitgestellten Ereignistypen senden. subscription.past_due und subscription.unpaused werden nicht unterstützt. Übergebe den Ereignisnamen genau wie aufgeführt:
Drei Trigger-Namen unterscheiden sich vom Ereignis
type in der gesendeten Payload: payment.success sendet payment.succeeded, refund.success sendet refund.succeeded und licence.created sendet license_key.created.
Die Formen der simulierten Payloads entsprechen den jeweiligen Schemas in der API-Referenz. Unter Webhook Events erfährst du, was die einzelnen Ereignisse bedeuten und wann Dodo Payments sie in der Produktion ausgibt.
Umgebungsvariablen
Diese Variable ändert, wiedodo wh listen die Verbindung herstellt:
Updates
Die CLI prüft beim Start auf eine neuere Version und zeigt bei Verfügbarkeit eine Benachrichtigung in der Statusleiste an. Um eine npm- oder Bun-Installation über die TUI zu aktualisieren, führe Folgendes aus:/update kann keine Binärdatei aktualisieren. Bei Binärinstallationen, einschließlich Installationen mit dem Installationsskript, wird stattdessen auf das neueste GitHub-Release verwiesen. Um über deine Shell zu aktualisieren, führe den verwendeten Installationsbefehl erneut aus:
Ressourcen
GitHub Repository
Quellcode und Releases.
npm Package
Das Paket
dodopayments-cli in der npm-Registry.Support
- Discord: Trete dem Community-Server bei.
- GitHub: Erstelle ein Issue im Repository.
- E-Mail: Kontaktiere support@dodopayments.com.