Dodo Payments のリソースを管理し、チェックアウトセッションを作成し、Webhook をターミナルから直接テストします。コマンドラインを好む開発者向けに設計されています。
インストール
npm install -g dodopayments-cli
手動インストール
- システムに対応した GitHub Releases から最新リリースをダウンロードします
- アーカイブを展開し、バイナリを
dodo にリネームします
- PATH に含まれるディレクトリに移動します:
sudo mv ./dodo /usr/local/bin/
CLI を使用する前に、API キーで認証してください:
これにより:
- ブラウザで Dodo Payments API Keys ページが開かれます
- API キーの入力を求められます
- 環境(テストモードまたはライブモード)を選択するよう求められます
- 資格情報が
~/.dodopayments/api-key にローカル保存されます
CLI は環境ごとに 1 つの 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 を取得します |
checkout コマンドは、最小限の住所収集、リターン URL、3D セキュアの強制、割引コード、メタデータなどの高度なオプションに対応しています。
Webhook のテスト
CLI には、本番取引を作成することなく開発中に Webhook をテストできる 2 つの強力なツールが含まれています。1 つはローカルサーバーにライブテスト Webhook を転送する リスナー、もう 1 つは任意のエンドポイントにモック Webhook ペイロードを送信する トリガーです。
Webhook のリッスン
Dodo Payments からの Webhook をリアルタイムでローカル開発サーバーに転送します。
Enter your local endpoint URL
Webhook を受信したいローカルの URL を指定します(例: http://localhost:3000/webhook)。
Automatic setup
CLI は既存の Webhook エンドポイントがない場合、自動的に Dodo Payments アカウントにエンドポイントを作成し、イベントをリアルタイムで受信するために WebSocket 接続を開きます。
Receive and forward
Webhook イベント(テスト支払い、定期購読の変更など)が発生すると、CLI はそれを受信し、イベントタイプをログに記録し、ヘッダーと本文を含むリクエスト全体をローカルエンドポイントに転送します。あなたのエンドポイントからのレスポンスもログに記録され、送信されます。
Webhook リスナーは テストモード API キーでのみ動作します。dodo wh listen を使用する前に、テストモードキーでログインしていることを確認してください。
リスナーはローカルエンドポイントに転送する際に元の Webhook ヘッダー(webhook-id、webhook-signature、webhook-timestamp)を保持するため、署名検証ロジックのテストが可能です。
テスト Webhook のトリガー
実際のトランザクションを作成することなく、任意のエンドポイントにモック Webhook ペイロードを送信して素早くテストできます。
これにより以下をガイドします:
- 宛先 エンドポイント URL の設定
- 必要に応じて ビジネス ID、プロダクト ID、および メタデータ を構成
- 対話型メニューから特定の イベント を選択してトリガー
- モックペイロードを送信し、レスポンスを確認
各イベントの後、別のイベントを選択するか終了することができるため、1 回のセッションで複数のイベントハンドラを簡単にテストできます。
トリガーツールは署名なしでモックペイロードを送信します。Webhook 署名検証をテスト中に無効にするには、Webhook ハンドラで unsafe_unwrap() を使用し、unwrap() を使用しないでください。
対応 Webhook イベント
| カテゴリ | イベント |
|---|
| Subscription | subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired |
| Payment | payment.success, payment.failed, payment.processing, payment.cancelled |
| Refund | refund.success, refund.failed |
| Dispute | dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost |
| License | licence.created |
環境変数
| 変数 | 説明 |
|---|
DODO_WH_TEST_SERVER_URL | dodo wh listen で使用されるデフォルトの Webhook リレーサーバー URL を上書きします |
リソース
サポート