Dodo Payments のリソースを管理し、アカウントに対して AI 対応クエリを実行し、チェックアウトセッションを作成し、Webhook をテストします — すべてターミナルから実行可能です。CLI にはインタラクティブな TUI、MCP によって駆動される組み込み AI アシスタント、オフラインでの Webhook テストが含まれています。
- インタラクティブな TUI — コマンドパレット、履歴、ライブ通知を備えたフルインタラクティブインターフェースを開くには、引数なしで
dodo を起動します。
- 組み込み AI アシスタント —
/ai を使用して、プレーンな英語で質問やアクションを実行します。追加のセットアップは不要で、dodopayments-mcp がローカルで実行されます。
- デフォルトで安全 — API キーは OS の秘密ストア (macOS キーチェーン、Windows Credential Vault、Linux libsecret) に保存されます。ディスク上にプレーンテキストの設定はありません。
- 自動アップデート — CLI は起動時に新しいバージョンをチェックし、アプリ内で通知します。
/update を実行してその場でアップグレードできます。
- Webhook ツール — ライブ Webhook のリッスンまたはローカル開発用にオフラインでペイロードをトリガーします。
インストール
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 キーを貼り付けるように求められる。
- 環境を選択するように求められる — テストモード または ライブモード。
- 資格情報が OS の秘密ストアに保存される (macOS のキーチェーン、Windows の Credential Vault、Linux の libsecret)。
資格情報は OS の秘密ストアに保存されるため、CLI が資格情報を読み書きする最初の時に デバイスパスワード を求められることがあります。古いバージョンからアップグレードする場合、既存のプレーンテキスト API キーは秘密ストアに移行され、レガシーファイルは自動的に削除されます。
モードの切り替えとログアウト
1 つの テストモード と 1 つの ライブモード キーを同時に認証したままにできます。資格情報をクリアするには:
ログアウトフローでは、すべてのアカウント、テストモード、または ライブモード を独立して選択できます。
使用方法
CLI は 2 つのモードで使用できます。
1. インタラクティブな TUI (推奨)
引数なしで dodo を実行し、フルインタラクティブインターフェースを起動します:
/ を入力してコマンドパレットを開くか、単に入力を開始します — スラッシュコマンドでないものはすべて AI アシスタントに送信されます。
| コマンド | 説明 |
|---|
/help | コマンドリファレンスを表示 |
/update | CLI の更新をチェックしてインストール |
/login | API キーで認証 |
/logout | 1 つまたはすべての環境からサインアウト |
/clear | TUI 画面をクリア |
/exit | TUI を終了 (または: exit と入力、Esc を 2 回押す) |
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 アシスタントに質問をしたり指示を与えたりする |
| (スラッシュコマンドではない任意のテキスト) | TUI 内にいる間はデフォルトで AI アシスタントに送信されます |
例:
how much revenue did I make this week?
/ai create a new customer named Acme Inc.
/ai find my last failed payment
アシスタントはアクティブな環境 (テスト / ライブ) を尊重し、現在ログインしている環境のデータにのみ操作します。
プロジェクトのスキャフォールディング
dodo init は、既存のプロジェクトに Dodo Payments の請求ルートを直接スキャフォールディングします。ボイラープレートのルートファイルを生成し、対応する @dodopayments/* アダプターパッケージをインストールし、環境変数を安全に DODO_PAYMENTS_* に書き込みます(既に存在しない変数のみを追加)。このコマンドは ログインなしで 実行されます。
| スキャフォールド | 説明 |
|---|
dodo init nextjs | @dodopayments/nextjs を使用して、Next.js アプリルーターの請求ルート(チェックアウト、カスタマーポータル、ウェブフックハンドラー)をスキャフォールディングします |
dodo init express | @dodopayments/express を使用して、Express サーバーの請求ルートをスキャフォールディングします |
dodo init better-auth | @dodopayments/better-auth を使用して、Better-Auth プラグイン構成をスキャフォールディングします |
Better-Auth スキャフォールディング用には、生成するプラグインのカンマ区切りリストを渡すことができます(デフォルトではすべて):checkout, portal, usage, webhooks。
# Scaffold every Better-Auth plugin (default)
dodo init better-auth
# Scaffold only specific plugins
dodo init better-auth checkout,portal
スキャフォールダは、src/ ディレクトリを自動検出し、出力パスを適応させます。また、パッケージマネージャー(bun, pnpm, yarn, または npm)を自動検出して、正しいインストールコマンドを実行します。
コマンドリファレンス
製品カタログを管理します。
| コマンド | 説明 |
|---|
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 | インタラクティブにホストされたチェックアウトセッションを作成し、支払いリンクを取得 |
Webフック
CLI には開発中の Web フックをテストするための 2 つの強力なツールがあります: ライブテストの Web フックをローカルサーバーに転送するリスナーと、モック Web フックのペイロードを任意のエンドポイントに送信するトリガーです。
| コマンド | 説明 |
|---|
dodo wh listen | Web フックをリアルタイムで受信し、ローカル開発サーバーに転送 |
dodo wh trigger | ログイン中であっても、インタラクティブにテスト Web フックイベントをトリガー |
Web フックのリスニング
Dodo Payments からの Web フックをリアルタイムで直接ローカル開発サーバーに転送します。
Enter your local endpoint URL
Web フックを受信したいローカル URL を指定します(例: http://localhost:3000/webhook)。
Automatic setup
CLI は、既に存在しない場合、Dodo Payments アカウント上で Web フックエンドポイントを自動的に作成し、リアルタイムでイベントを受信するための WebSocket 接続を開きます。
Receive and forward
Web フックイベントが発生した場合(テスト支払い、サブスクリプションの変更などから)、CLI はそれを受信し、イベントタイプをロギングし、ヘッダーとボディ付きの完全なリクエストをローカルエンドポイントに転送します。エンドポイントからの応答はロギングされ、送り返されます。
dodo wh listen には テストモード の API キーが必要です。本番モードのキーはリスニングフローではサポートされていません。
リスナーは元の Web フックのヘッダー(webhook-id, webhook-signature, webhook-timestamp)を保持してローカルエンドポイントに転送するので、署名検証ロジックをテストできます。
テスト Web フックをトリガー
モック Web フックペイロードを任意のエンドポイントに送信し、リアルな取引を作成することなくクイックテストを行います。
/wh trigger フローは次をガイドします:
- 送信先のエンドポイントURLを設定
- インタラクティブメニューからトリガーする特定のイベントを選択
dodo wh trigger はログインを必要としません。ローカル/オフラインの Web フックペイロード生成ツールとして動作します。
トリガーされたイベントは署名されていません。テスト中は、エンドポイントでの Web フック署名検証を無効にしてください。例えば、テスト時のみ unsafe_unwrap() を使用し、unwrap() の代わりに使用します。
サポートされている Web フックイベント
| カテゴリー | イベント |
|---|
| サブスクリプション | 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 で使用されるデフォルトの Web フックリレーサーバー URL を上書きします |
アップデート
CLI は起動時に新しいバージョンを確認し、利用可能であればステータスバーに通知を表示します。アップグレードするには:
または、インストーラーを再実行してその場でアップグレード:
curl -fsSL https://dodopayments.com/install.sh | sh
リソース
GitHub Repository
ソースコードとリリースを表示
サポート