機能
- インタラクティブ TUI: 引数なしで
dodoを実行すると、command palette、履歴、ライブ通知を備えたインタラクティブインターフェースが開きます。 - 組み込み AI assistant:
/aiを使って、自然な英語で質問したり操作を実行したりできます。assistant はローカルでdodopayments-mcpを実行するため、追加設定は不要です。 - 暗号化された認証情報: API keys は
~/.dodopayments/config.jsonに保存され、マシンから派生したキーで AES-256-GCM により暗号化されます。ディスク上に平文の認証情報は保存されません。 - 自動更新: CLI は起動時に新しいバージョンを確認し、TUI で通知します。npm または Bun でインストールした場合は、
/updateを実行してその場で更新できます。 - Webhook ツール: test mode の webhook をローカルサーバーに転送したり、オフラインで mock webhook payload を送信したりできます。
- Scaffolding:
dodo initを使って、Next.js、Express、Better Auth のプロジェクトに billing route を追加できます。
インストール
macOS または Linux では、インストールスクリプトを使って最新リリースの binary をインストールします。dodo は、/usr/local/bin、~/.local/bin、~/bin のうち、最初に書き込み可能なディレクトリにインストールされます。いずれも書き込み可能でない場合は ~/.local/bin にインストールされます。特定のリリースをインストールするには、DODO_VERSION environment variable にその tag を設定します。ディレクトリを選択するには、DODO_INSTALL_DIR を設定します。
NPM または Bun でのインストール
Node.js または Bun がある場合は、dodopayments-cli package を global にインストールします。package manager によるインストールでは、公開済みの最新バージョンが取得されます。
dodo login などの直接 subcommand は Node.js 18 以降で実行されます。package manager 経由でインストールした場合、インタラクティブ TUI には Bun も必要です。リリース binary にはどちらの runtime も必要ありません。手動インストール(Node / Bun 不要)
remote script を実行せずにインストールするには、binary を自分でダウンロードします。1
Download the Binary
最新の GitHub Release から、使用する platform 用の binary をダウンロードします。
2
Rename the Binary to dodo
3
Move It to a Directory on Your PATH
Windows では、ファイルを
C:\Windows\System32 に移動するために administrator privileges が必要です。4
(Optional) Verify the Download
各リリースでは
SHA256SUMS.txt file が公開されます。binary の隣にダウンロードしてから、binary を検証します。Authentication
アカウントを読み取ったり変更したりする command を実行する前に、API key でログインします。直接 subcommand でログインするには、key とその mode(test または live)を渡します。
- ブラウザで dashboard の Developer → API Keys ページを開きます。
- API key の貼り付けを求めます。
- Test Mode または Live Mode の選択を求めます。
~/.dodopayments/config.json に暗号化して保存します。
暗号化キーはマシンから派生するため、保存された認証情報はそのマシンでのみ機能します。OS keychain に key を保存していた v3.0.x からアップグレードする場合は、
dodo login をもう一度実行してください。以前の平文 ~/.dodopayments/api-key file にある key は自動的に移行され、その file は削除されます。Mode の切り替えとログアウト
test mode key と live mode key をそれぞれ 1 つずつ、同時にログインした状態にできます。TUI で active mode を切り替えるには/switch を実行します。保存された key を削除するには、次を実行します。
test、live、または all を渡します。TUI では /logout が All accounts、Test Mode、Live Mode の選択を求め、その後確認を求めます。
Usage
CLI は 2 つの mode で使用できます。1. インタラクティブ TUI(推奨)
引数なしでdodo を実行すると、インタラクティブインターフェースが開きます。
/ と入力すると command palette が開きます。/ で始まらないテキストは AI assistant に送られます。
2. 直接 Subcommand
TUI を開かずに command を実行します。dodo を / に置き換えます(例:/payments list 1)。TUI only と記された command はインタラクティブ wizard です。direct mode では、TUI を開くよう案内する message が表示されます。
AI Assistant
アカウントについて質問したり、自然な英語で操作を実行したりできます。assistant はマシン上でdodopayments-mcp を実行するため、追加設定や OAuth flow は不要です。保存された key を使ってマシンから Dodo Payments API を呼び出し、prompt を language model に送信します。
direct mode では
dodo ai に続けて質問を入力します。TUI での例:
Project Scaffolding
dodo init は既存の project に Dodo Payments の billing route を追加します。route file を作成し、対応する @dodopayments/* adapter package をインストールし、不足している DODO_PAYMENTS_* variable を placeholder value とともに .env file に追加します。既存の file と variable はスキップし、ログインなしで実行されます。
Better-Auth scaffold では、生成する plugin を comma-separated list で渡せます:
checkout、portal、usage、webhooks。list を指定しない場合は 4 つすべてが生成されます。
project に
src/ directory がある場合、scaffolder はその内部に file を書き込みます。project の lock file(bun、pnpm、または yarn)から install command を選択し、見つからない場合は npm を使用します。Command Reference
これらの command にはログイン済みの API key が必要です。list command では任意の page number を指定できます。デフォルトは 1 で、1 page あたり最大 100 item が表示されます。Products
product catalog を管理します。Payments
payment transaction を表示します。Customers
customer を管理します。Discounts
discount code を管理します。Licenses
license key を表示します。command の表記はlicences です。
Addons
product add-on を管理します。Refunds
refund information を表示します。Checkout
hosted checkout session を作成します。Webhooks
CLI には development 用の webhook tool が 2 つあります。test mode の webhook をローカルサーバーに転送する listener と、任意の endpoint に mock webhook payload を送信する trigger です。
direct mode では argument が必須です。TUI では
/wh listen または /wh trigger を引数なしで実行すると、インタラクティブ wizard が開きます。
Webhook を Listen
Dodo Payments account からローカルの development server に webhook をリアルタイムで転送します。1
Enter Your Local Endpoint URL
webhook を受信する local URL を渡します(例:
http://localhost:3000/webhook)。TUI wizard では CLI が入力を求めます。2
Automatic Setup
account に CLI の relay server 用 webhook endpoint がない場合、CLI が作成します。endpoint は Developer → Webhooks に表示されます。その後 CLI は relay への WebSocket connection を開き、event をリアルタイムで受信します。
3
Receive and Forward
webhook event が発生すると(test payment や subscription change など)、CLI は payload と header を
POST request として local endpoint に転送します。event type と endpoint の response を log に記録し、response を relay に返します。relay と CLI は JSON body を解析し、転送する前に再度 serialize します。転送された body が元の内容とバイト単位で異なる場合(たとえば number のフォーマットが異なる場合)、headers がそのままでも signature verification は失敗します。
Test Webhook を Trigger
実際の transaction を作成せずに、任意の endpoint へ mock webhook payload を送信します。/wh trigger wizard では、次の手順を案内します。
- 宛先の endpoint URL を設定します。
- payload の Business ID、Product ID、Metadata(JSON object)、Customer email、Customer ID を任意で入力します。空欄には placeholder value が使用されます。
- インタラクティブ menu から送信する event を選択します。複数の event を続けて送信できます。終了するには exit を選択します。
dodo wh trigger にはログインは不要です。ローカルで動作するオフライン webhook payload generator です。サポートされる Webhook Event
dodo wh trigger は、Dodo Payments が配信する 48 種類の event type のうち 46 種類の mock payload を送信できます。subscription.past_due と subscription.unpaused はサポートしていません。event name は次の一覧と完全に同じ形式で渡してください。
3 つの trigger name は、送信する payload 内の event
type と異なります。payment.success は payment.succeeded を、refund.success は refund.succeeded を、licence.created は license_key.created を送信します。
Mock payload の shape は、API reference の対応する schema に従います。各 event の意味と、production で Dodo Payments がいつ emit するかについては、Webhook Events を参照してください。
Environment Variables
この variable はdodo wh listen の接続方法を変更します。
Updates
CLI は起動時に新しい version を確認し、利用可能な場合は status bar に notification を表示します。TUI から npm または Bun の install を upgrade するには、次を実行します。/update では release binary を upgrade できません。binary install(install script によるものを含む)では、代わりに最新の GitHub release への link が表示されます。shell から upgrade するには、インストール時に使用した command をもう一度実行します。
Resources
GitHub Repository
source code と release。
npm Package
npm registry の
dodopayments-cli package。Support
- Discord: community server に参加してください。
- GitHub: repository で issue を作成してください。
- Email: support@dodopayments.com にお問い合わせください。