Verwalten Sie Ihre Dodo Payments-Ressourcen, erstellen Sie Checkout-Sitzungen und testen Sie Webhooks direkt vom Terminal aus. Entwickelt für Entwickler, die die Befehlszeile bevorzugen.
Installation
npm install -g dodopayments-cli
Manuelle Installation
- Laden Sie die neueste Veröffentlichung für Ihr System von GitHub Releases herunter
- Entpacken Sie die Datei und benennen Sie das Binary in
dodo um
- Verschieben Sie es in ein Verzeichnis, das sich in Ihrem PATH befindet:
sudo mv ./dodo /usr/local/bin/
Authentifizierung
Authentifizieren Sie sich vor der Verwendung der CLI mit Ihrem API-Schlüssel:
Dies wird:
- Ihren Browser zur API-Schlüssel-Seite von Dodo Payments öffnen
- Sie dazu auffordern, Ihren API-Schlüssel einzugeben
- Sie bitten, die Umgebung (Testmodus oder Live-Modus) auszuwählen
- Ihre Zugangsdaten lokal speichern, um
~/.dodopayments/api-key
Die CLI unterstützt das Speichern eines API-Schlüssels pro Umgebung. Wenn sowohl Test- als auch Live-Modus-Schlüssel konfiguriert sind, werden Sie aufgefordert, die Umgebung für die aktuelle Sitzung auszuwählen.
Verwendung
Die allgemeine Syntax lautet:
dodo ‹category› ‹sub-command›
Das Ausführen von dodo ohne Argumente zeigt alle verfügbaren Kategorien an. Das Ausführen von dodo <category> ohne Unterbefehl zeigt die verfügbaren Unterbefehle für diese Kategorie an.
Produkte
Verwalten Sie Ihren Produktkatalog.
| Befehl | Beschreibung |
|---|
dodo products list | Alle Produkte auflisten (paginierbar) |
dodo products create | Dashboard öffnen, um ein Produkt zu erstellen |
dodo products info | Details zu einem bestimmten Produkt anzeigen |
Zahlungen
Zahlungstransaktionen anzeigen.
| Befehl | Beschreibung |
|---|
dodo payments list | Alle Zahlungen auflisten (paginierbar) |
dodo payments info | Informationen zu einer bestimmten Zahlung abrufen |
Kunden
Verwalten Sie Ihre Kundenbasis.
| Befehl | Beschreibung |
|---|
dodo customers list | Alle Kunden auflisten (paginierbar) |
dodo customers create | Ein neues Kundenprofil erstellen |
dodo customers update | Details eines bestehenden Kunden aktualisieren |
Rabatte
Verwalten Sie Gutscheine und Rabatte.
| Befehl | Beschreibung |
|---|
dodo discounts list | Alle Rabatte auflisten (paginierbar) |
dodo discounts create | Einen neuen prozentualen Rabatt erstellen |
dodo discounts delete | Rabatt per ID entfernen |
Lizenzen
Verwalten Sie Softwarelizenzen.
| Befehl | Beschreibung |
|---|
dodo licences list | Alle Lizenzschlüssel auflisten (paginierbar) |
Add-ons
Verwalten Sie Produkt-Add-ons.
| Befehl | Beschreibung |
|---|
dodo addons list | Alle Add-ons auflisten (paginierbar) |
dodo addons create | Dashboard öffnen, um ein Add-on zu erstellen |
dodo addons info | Details zu einem bestimmten Add-on anzeigen |
Rückerstattungen
Informationen zu Rückerstattungen anzeigen.
| Befehl | Beschreibung |
|---|
dodo refund list | Alle Rückerstattungen auflisten (paginierbar) |
dodo refund info | Details zu einer bestimmten Rückerstattung anzeigen |
Checkout
Erstellen Sie Checkout-Sitzungen.
| Befehl | Beschreibung |
|---|
dodo checkout new | Eine neue Checkout-Sitzung erstellen und die Checkout-URL erhalten |
Der Checkout-Befehl unterstützt erweiterte Optionen wie minimale Adressabfrage, Rückkehr-URL, 3D-Secure-Erzwingung, Rabattcodes und Metadaten.
Webhook-Tests
Die CLI enthält zwei leistungsstarke Tools zum Testen von Webhooks während der Entwicklung: einen Listener, der Live-Test-Webhooks an Ihren lokalen Server weiterleitet, und einen Trigger, der Mock-Webhooks an beliebige Endpunkte sendet.
Webhooks abhören
Leiten Sie Webhooks von Dodo Payments in Echtzeit direkt an Ihren lokalen Entwicklungsserver weiter.
Enter your local endpoint URL
Geben Sie die lokale URL an, unter der Sie Webhooks empfangen möchten (z. B. http://localhost:3000/webhook).
Automatic setup
Die CLI erstellt automatisch einen Webhook-Endpunkt in Ihrem Dodo Payments-Konto, falls noch keiner vorhanden ist, und öffnet dann eine WebSocket-Verbindung, um Ereignisse in Echtzeit zu empfangen.
Receive and forward
Wenn ein Webhook-Ereignis ausgelöst wird (durch eine Testzahlung, Änderung eines Abonnements usw.), empfängt die CLI es, protokolliert den Ereignistyp und leitet die vollständige Anfrage mit Headern und Body an Ihren lokalen Endpunkt weiter. Die Antwort Ihres Endpunkts wird protokolliert und zurückgesendet.
Der Webhook-Listener funktioniert nur mit einem Testmodus-API-Schlüssel. Stellen Sie sicher, dass Sie mit einem Testmodus-Schlüssel angemeldet sind, bevor Sie dodo wh listen verwenden.
Der Listener bewahrt die ursprünglichen Webhook-Header (webhook-id, webhook-signature, webhook-timestamp) beim Weiterleiten an Ihren lokalen Endpunkt, sodass Sie Ihre Signaturprüfungs-Logik testen können.
Test-Webhooks auslösen
Senden Sie gefälschte Webhook-Payloads an beliebige Endpunkte, um schnell zu testen, ohne echte Transaktionen erstellen zu müssen.
Dies führt Sie durch:
- Festlegung einer Ziel-Endpoint-URL
- Optionale Konfiguration von Business ID, Produkt-ID und Metadaten
- Auswahl eines bestimmten Ereignisses zum Auslösen über ein interaktives Menü
- Senden der Mock-Payload und Anzeigen der Antwort
Nach jedem Ereignis können Sie ein weiteres Ereignis auswählen oder beenden – so lassen sich mehrere Ereignis-Handler in einer Sitzung testen.
Das Trigger-Tool sendet gefälschte Payloads ohne Webhook-Signaturen. Deaktivieren Sie die Webhook-Signaturprüfung während der Tests, indem Sie unsafe_unwrap() anstelle von unwrap() in Ihrem Webhook-Handler verwenden.
Unterstützte Webhook-Ereignisse
| Kategorie | Ereignisse |
|---|
| Abonnement | subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired |
| Zahlung | payment.success, payment.failed, payment.processing, payment.cancelled |
| Rückerstattung | refund.success, refund.failed |
| Streitfall | dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost |
| Lizenz | licence.created |
Umgebungsvariablen
| Variable | Beschreibung |
|---|
DODO_WH_TEST_SERVER_URL | Überschreibt die Standard-Webhook-Relay-Server-URL, die von dodo wh listen verwendet wird |
Ressourcen
Support