Skip to main content
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

  1. Download the latest release from GitHub Releases for your system
  2. Extract and rename the binary to dodo
  3. 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:
dodo login
This will:
  1. Open your browser to the Dodo Payments API Keys page
  2. Prompt you to enter your API Key
  3. Ask you to select the environment (Test Mode or Live Mode)
  4. Store your credentials locally to ~/.dodopayments/api-key

Usage

The general syntax is:
dodo <category> <sub-command>

Products

Manage your product catalog.
CommandDescription
dodo products listList all products
dodo products createOpen dashboard to create a product
dodo products infoView details for a specific product

Payments

View payment transactions.
CommandDescription
dodo payments listList all payments
dodo payments infoGet information about a specific payment

Customers

Manage your customer base.
CommandDescription
dodo customers listList all customers
dodo customers createCreate a new customer profile
dodo customers updateUpdate an existing customer’s details

Discounts

Manage coupons and discounts.
CommandDescription
dodo discounts listList all discounts
dodo discounts createCreate a new percentage-based discount
dodo discounts deleteRemove a discount by ID

Licenses

Manage software licenses.
CommandDescription
dodo licences listList all licenses

Webhook Testing

The CLI includes an interactive tool for testing webhooks by simulating events.
dodo wh
This guides you through:
  1. Setting a destination endpoint URL
  2. Configuring Business ID, Product ID, and Metadata
  3. 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

CategoryEvents
Subscriptionactive, updated, on_hold, renewed, plan_changed, cancelled, failed, expired
Paymentsuccess, failed, processing, cancelled
Refundsuccess, failed
Disputeopened, expired, accepted, cancelled, challenged, won, lost
Licensecreated

Resources

Support