Manage your Dodo Payments resources and test webhooks directly from the terminal. Built for developers who prefer the command line.
Installation
npm install -g dodopayments-cli
Manual Installation
- Download the latest release from GitHub Releases for your system
- Extract and rename the binary to
dodo
- Move to a directory in your PATH:
# Linux/macOS
sudo mv ./dodo /usr/local/bin/
# Windows (admin mode)
move .\dodo C:\Windows\System32\dodo
Authentication
Before using the CLI, authenticate with your API key:
This will:
- Open your browser to the Dodo Payments API Keys page
- Prompt you to enter your API Key
- Ask you to select the environment (Test Mode or Live Mode)
- Store your credentials locally to
~/.dodopayments/api-key
Usage
The general syntax is:
dodo <category> <sub-command>
Products
Manage your product catalog.
| Command | Description |
|---|
dodo products list | List all products |
dodo products create | Open dashboard to create a product |
dodo products info | View details for a specific product |
Payments
View payment transactions.
| Command | Description |
|---|
dodo payments list | List all payments |
dodo payments info | Get information about a specific payment |
Customers
Manage your customer base.
| Command | Description |
|---|
dodo customers list | List all customers |
dodo customers create | Create a new customer profile |
dodo customers update | Update an existing customer’s details |
Discounts
Manage coupons and discounts.
| Command | Description |
|---|
dodo discounts list | List all discounts |
dodo discounts create | Create a new percentage-based discount |
dodo discounts delete | Remove a discount by ID |
Licenses
Manage software licenses.
| Command | Description |
|---|
dodo licences list | List all licenses |
Webhook Testing
The CLI includes an interactive tool for testing webhooks by simulating events.
This guides you through:
- Setting a destination endpoint URL
- Configuring Business ID, Product ID, and Metadata
- Selecting a specific Event to trigger
The webhook testing tool doesn’t support signing requests yet. Disable webhook signature verification while testing by using unsafe_unwrap() instead of unwrap() in your webhook endpoint during testing only.
Supported Webhook Events
| Category | Events |
|---|
| Subscription | active, updated, on_hold, renewed, plan_changed, cancelled, failed, expired |
| Payment | success, failed, processing, cancelled |
| Refund | success, failed |
| Dispute | opened, expired, accepted, cancelled, challenged, won, lost |
| License | created |
Resources
Support