从终端管理你的 Dodo Payments 资源,针对你的账户运行 AI 驱动的查询,创建结算会话并测试 webhooks。CLI 配备交互式 TUI、由 MCP 驱动的内置 AI 助手和离线 webhook 测试。
- 交互式 TUI — 启动
dodo 不带参数,打开完整的交互界面,包括命令面板、历史记录和实时通知。
- 内置 AI 助手 — 用
/ai 以简单的英文询问问题或执行操作。无需额外设置,本地运行 dodopayments-mcp。
- 默认安全 — API 密钥存储在你的操作系统秘密存储中(macOS Keychain、Windows Credential Vault、Linux libsecret)。没有明文配置文件。
- 自动更新 — CLI 在启动时检查新版本并在应用内通知你。运行
/update 即可就地升级。
- Webhook 工具 — 监听实时 webhooks 或离线触发 payloads 以进行本地开发。
在 macOS 或 Linux 上,一行命令安装 CLI:
curl -fsSL https://dodopayments.com/install.sh | sh
使用 npm 或 Bun 安装
如果你已经有 Node 或 Bun,包管理器安装总是获取最新版本:
npm install -g dodopayments-cli
手动安装(无需 Node/Bun)
如果你不想将远程脚本传递给 sh,请自行下载二进制文件。
Download the binary
从最新的 GitHub Release 下载适用于你的平台的二进制文件。| 平台 | 二进制文件 |
|---|
| macOS (Apple Silicon) | dodo-cli-darwin-arm64 |
| macOS (Intel) | dodo-cli-darwin-x64 |
| Linux (x86_64) | dodo-cli-linux-x64 |
| Linux (arm64) | dodo-cli-linux-arm64 |
| Windows (x86_64) | dodo-cli-windows-x64.exe |
Rename the binary to `dodo`
mv ./dodo-cli-* ./dodo && chmod +x ./dodo
Move it to a directory on your PATH
sudo mv ./dodo /usr/local/bin/
在 Windows 上,迁移到 C:\Windows\System32 需要管理员权限。
(Optional) Verify the download
每个版本会发布一个 SHA256SUMS.txt。用以下命令验证你的下载:shasum -a 256 -c SHA256SUMS.txt
在使用认证命令之前,请使用你的 API 密钥登录:
或者,从交互式 TUI 内部:
登录流程将:
- 打开浏览器到 Dodo Payments API 密钥页面。
- 提示你粘贴你的 API 密钥。
- 询问你选择一个环境 — 测试模式或实时模式。
- 将凭证存储在你的操作系统秘密存储中(macOS 上的 Keychain、Windows 上的 Credential Vault、Linux 上的 libsecret)。
由于凭证存储在操作系统秘密存储中,CLI 第一次读取或写入凭证时,你可能会被提示输入设备密码。如果你从旧版本升级,任何现有的明文 API 密钥将自动迁移到秘密存储,并删除旧文件。
切换模式和注销
你可以同时保持一个测试模式和一个实时模式密钥认证。要清除凭证:
注销流程允许你独立选择所有账户、测试模式或实时模式。
你可以以两种模式使用 CLI。
1. 交互式 TUI(推荐)
运行 dodo 不带参数以启动完整的交互界面:
输入 / 以打开命令面板,或仅开始打字 — 任何不是斜线命令的内容都会发送给 AI 助手。
| 命令 | 描述 |
|---|
/help | 显示命令参考 |
/update | 检查并安装 CLI 更新 |
/login | 使用 API 密钥进行身份验证 |
/logout | 从一个或所有环境中注销 |
/clear | 清除 TUI 屏幕 |
/exit | 退出 TUI(也可以:输入 exit,或按两次 Esc) |
2. 直接子命令
直接运行命令而不进入 TUI:
dodo <category> <sub-command> [args...]
例如:
dodo payments list 1
dodo customers create
dodo wh trigger
以下参考表显示每个命令。在 TUI 中,使用 / 作为前缀;在直接模式中,省略 /。
AI 助手
以自然语言询问问题或执行操作。助手使用 dodopayments-mcp 本地运行 — 无需额外设置或 OAuth 流程,你的 AI 流量不会离开你的机器,除了与模型提供商通信。
| 命令 | 描述 |
|---|
/ai <query> | 向 AI 助手询问问题或给予指示 |
| (任何非斜线文本) | 默认为发送给 AI 助手,在 TUI 中 |
示例:
how much revenue did I make this week?
/ai create a new customer named Acme Inc.
/ai find my last failed payment
助手尊重你活动的环境(测试/实时),因此它仅在你当前登录的环境中操作数据。
命令参考
管理你的产品目录。
| 命令 | 描述 |
|---|
dodo products list <page> | 列出产品 |
dodo products create | 打开仪表板以创建产品 |
dodo products info <id> | 查看特定产品的详细信息 |
查看支付交易。
| 命令 | 描述 |
|---|
dodo payments list <page> | 列出支付 |
dodo payments info <id> | 获取特定支付的信息 |
管理你的客户群。
| 命令 | 描述 |
|---|
dodo customers list <page> | 列出客户 |
dodo customers create | 创建新客户 |
dodo customers update <id> | 更新现有客户 |
管理优惠券和折扣。
| 命令 | 描述 |
|---|
dodo discounts list <page> | 列出折扣 |
dodo discounts create | 创建新的百分比折扣 |
dodo discounts delete <id> | 按 ID 删除折扣 |
许可证
管理软件许可证。
| 命令 | 描述 |
|---|
dodo licences list <page> | 列出许可证 |
附加组件
管理产品附加组件。
| 命令 | 描述 |
|---|
dodo addons list <page> | 列出附加组件 |
dodo addons create | 打开仪表板以创建附加组件 |
dodo addons info <id> | 查看特定附加组件的详细信息 |
查看退款信息。
| 命令 | 描述 |
|---|
dodo refunds list <page> | 列出退款 |
dodo refunds info <id> | 查看特定退款的详细信息 |
创建托管结算会话。
| 命令 | 描述 |
|---|
dodo checkout new | 交互式创建托管结算会话并获取支付链接 |
Webhooks
CLI 包含两个用于开发期间测试 webhooks 的强大工具:一个监听器,将实时测试 webhooks 转发到你的本地服务器,以及一个触发器,将模拟 webhook payloads 发送到任何端点。
| 命令 | 描述 |
|---|
dodo wh listen | 实时监听 webhooks 并将其转发到你的本地开发服务器 |
dodo wh trigger | 交互式触发测试 webhook 事件 — 即使已注销 |
监听 webhooks
将来自 Dodo Payments 的 webhooks 直接实时转发到你的本地开发服务器。
Enter your local endpoint URL
提供你想接收 webhooks 的本地 URL(例如,http://localhost:3000/webhook)。
Automatic setup
如果不存在,CLI 会自动在你的 Dodo Payments 账户上创建一个 webhook 端点,然后打开一个 WebSocket 连接以实时接收事件。
Receive and forward
当一个 webhook 事件触发(来自测试支付、订阅更改等),CLI 会接收它,记录事件类型,并将完整的请求(包括标题及主体)转发到你的本地端点。来自你端点的响应将被记录并发送回去。
dodo wh listen 需要一个测试模式 API 密钥。监听流程不支持实时模式密钥。
监听器在转发到你的本地端点时保留原始 webhook 头(webhook-id、webhook-signature、webhook-timestamp),因此你可以测试你的签名验证逻辑。
触发测试 webhooks
将模拟 webhook payloads 发送到任何端点,进行快速测试,而无需创建真实交易。
/wh trigger 流程指导你完成:
- 设置目标端点 URL
- 从交互式菜单中选择一个特定的事件来触发
dodo wh trigger 不需要登录。它作为一个本地/离线的 webhook payload 生成器工作。
触发的事件没有签名。在测试时,请在你的端点上禁用 webhook 签名验证 — 例如,在测试期间仅使用 unsafe_unwrap() 代替 unwrap() 在你的 webhook 处理程序中。
支持的 webhook 事件
| 类别 | 事件 |
|---|
| 订阅 | active, updated, on_hold, renewed, plan_changed, cancelled, failed, expired |
| 支付 | succeeded, failed, processing, cancelled |
| 退款 | succeeded, failed |
| 争议 | opened, expired, accepted, cancelled, challenged, won, lost |
| 许可证 | created |
环境变量
| 变量 | 描述 |
|---|
DODO_WH_TEST_SERVER_URL | 覆盖 dodo wh listen 使用的默认 webhook 中继服务器 URL |
CLI 在启动时检查是否有新版本,并在状态栏中提供通知。当有更新时,升级:
或者,重新运行安装程序以就地升级:
curl -fsSL https://dodopayments.com/install.sh | sh
GitHub Repository
查看源代码和发布