跳转到主要内容
从终端管理你的 Dodo Payments 资源,创建结账会话,并直接测试 Webhook。为更喜欢命令行的开发者打造。

安装

npm install -g dodopayments-cli

手动安装

  1. GitHub Releases 下载适用于你系统的最新版本
  2. 解压并将二进制重命名为 dodo
  3. 移动到 PATH 中的某个目录:
sudo mv ./dodo /usr/local/bin/

身份验证

在使用 CLI 之前,请使用你的 API 密钥进行身份验证:
dodo login
这将:
  1. 打开浏览器并跳转到 Dodo Payments API 密钥页面
  2. 提示你输入 API 密钥
  3. 要求你选择环境(测试模式实时模式
  4. 将你的凭据本地存储到 ~/.dodopayments/api-key
CLI 支持为每个环境存储一个 API 密钥。如果同时配置了测试与实时模式的密钥,当前会话将提示你选择要使用的环境。

使用方式

通用语法为:
dodo ‹category› ‹sub-command›
运行 dodo 无参数将显示所有可用类别。运行 dodo <category> 在没有子命令时会显示该类别的可用子命令。

产品

管理你的产品目录。
命令说明
dodo products list列出所有产品(分页)
dodo products create打开仪表板创建产品
dodo products info查看特定产品的详细信息

支付

查看支付交易。
命令说明
dodo payments list列出所有支付(分页)
dodo payments info获取特定支付的信息

客户

管理你的客户群。
命令说明
dodo customers list列出所有客户(分页)
dodo customers create创建新的客户资料
dodo customers update更新现有客户的详细信息

折扣

管理优惠券和折扣。
命令说明
dodo discounts list列出所有折扣(分页)
dodo discounts create创建基于百分比的新品折扣
dodo discounts delete通过 ID 移除折扣

许可证

管理软件许可证。
命令说明
dodo licences list列出所有许可证密钥(分页)

附加组件

管理产品附加组件。
命令说明
dodo addons list列出所有附加组件(分页)
dodo addons create打开仪表板创建附加组件
dodo addons info查看特定附加组件的详细信息

退款

查看退款信息。
命令说明
dodo refund list列出所有退款(分页)
dodo refund info查看特定退款的详细信息

结账

创建结账会话。
命令说明
dodo checkout new创建新的结账会话并获取结账 URL
结账命令支持高级选项,包括最小地址采集、返回 URL、强制 3D Secure、折扣码和元数据。

Webhook 测试

CLI 提供两个强大的工具用于开发期间测试 Webhook:一个 监听器 将实时测试 Webhook 转发到你本地服务器,另一个 触发器 将模拟 Webhook 有效负载发送到任意端点。

监听 Webhook

实时将 Dodo Payments 的 Webhook 转发到你的本地开发服务器。
dodo wh listen
1

Enter your local endpoint URL

提供你希望接收 Webhook 的本地 URL(例如 http://localhost:3000/webhook)。
2

Automatic setup

CLI 会自动在你的 Dodo Payments 账户上创建 Webhook 端点(若尚未存在),然后打开 WebSocket 连接以实时接收事件。
3

Receive and forward

当 Webhook 事件触发(来自测试支付、订阅更改等)时,CLI 会接收它,记录事件类型,并将带有头部和主体的完整请求转发到你的本地端点。端点的响应也会被记录并返回。
Webhook 监听器仅适用于 测试模式 API 密钥。请确保在使用 dodo wh listen 之前已使用测试模式密钥登录。
监听器在转发到本地端点时会保留原始 Webhook 头部(webhook-idwebhook-signaturewebhook-timestamp),以便你测试签名验证逻辑。

触发测试 Webhook

向任意端点发送模拟 Webhook 有效负载,便于快速测试,无需创建真实交易。
dodo wh trigger
此过程会引导你:
  1. 设置目标 端点 URL
  2. 可选地配置 商户 ID产品 ID元数据
  3. 从交互式菜单中选择要触发的特定 事件
  4. 发送模拟有效负载并查看响应
每次事件后你都可以选择触发另一个事件或退出 —— 便于在一次会话中测试多个事件处理程序。
触发工具发送的模拟有效负载不包含 Webhook 签名。测试时,请在你的 Webhook 处理器中使用 unsafe_unwrap() 替代 unwrap(),以禁用 Webhook 签名验证。

支持的 Webhook 事件

类别事件
订阅subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired
支付payment.success, payment.failed, payment.processing, payment.cancelled
退款refund.success, refund.failed
争议dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost
许可证licence.created

环境变量

变量描述
DODO_WH_TEST_SERVER_URL覆盖 dodo wh listen 使用的默认 Webhook 中继服务器 URL

资源

支持