Skip to content

dodopayments/dodopayments-cli

Dodo Payments CLI

A powerful Command Line Interface for Dodo Payments

npm version Discord License: MIT

InstallationAuthenticationUsageWebhooksContributing


Manage your Dodo Payments resources and test webhooks directly from the terminal. Built for developers who prefer the command line.

Installation

We provide various ways to install the CLI:

Note: If you have Node or Bun installed, it's highly recommended to use that installation method.

Using npm (Recommended)

npm install -g dodopayments-cli

Using Bun

bun install -g dodopayments-cli

Manual Installation

  1. Download the latest release from GitHub Releases that matches your system.

  2. Extract the downloaded file to a directory of your choice.

  3. Rename the binary file to dodo:

    • Linux/macOS: mv ./dodopayments-cli-* ./dodo
    • Windows: ren .\dodopayments-cli-* .\dodo
  4. Move the binary to a directory in your system's PATH:

    • Linux/macOS: sudo mv ./dodo /usr/local/bin/
    • Windows: move .\dodo C:\Windows\System32\dodo (requires admin mode)

Authentication

Before using the CLI, you must authenticate:

dodo login

This command 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

Note: Upto 1 Test Mode & 1 Live Mode can be used at the same time

To clear stored credentials, run:

dodo logout

The logout flow lets you choose between All accounts, Test Mode, and Live Mode.

Usage

The general syntax is:

dodo <category> <sub-command>

Products

Manage your products 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

Addons

Manage your add-ons.

Command Description
dodo addons list List all addons
dodo addons create Open dashboard to create an addon
dodo addons info View details for a specific addon

Refunds

Manage your refunds.

Command Description
dodo refund list List all refunds
dodo refund info View details for a specific refund

Webhooks

Manage and test webhooks directly from the CLI.

Command Description
dodo wh listen Listen for webhooks from Dodo Payments in real time and forward them to your local dev server
dodo wh trigger Trigger a test webhook event interactively, even while logged out

Note: The webhook triggering doesn't support signing requests yet. Please disable webhook signature verification while triggering. A simple way to do this is using unsafe_unwrap() instead of unwrap() in the webhook endpoint during testing only.

Note: dodo wh trigger does not require dodo login. It can be used as a local/offline webhook payload generator.

Note: The webhook listening tool will only work with a test mode API key. If you use a live mode API key, it won't work.

This interactive tool guides you through:

  1. Setting a destination endpoint URL
  2. Selecting a specific Event to trigger

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

Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding new features, or improving documentation, your help is appreciated.

Please read our Contributing Guide to get started. We also have a Code of Conduct that we expect all contributors to follow.

Ways to Contribute

  • Report bugs and suggest features
  • Improve documentation
  • Add new CLI commands
  • Write tests
  • Review pull requests

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by Dodo Payments

About

The official CLI for the Dodo Payments API

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors