Skip to main content
터미널에서 Dodo Payments 리소스를 관리하고, 계정에 대해 AI 기반 쿼리를 실행하며, checkout session을 생성하고, webhook을 테스트할 수 있습니다. CLI에는 대화형 TUI, MCP로 구동되는 기본 제공 AI assistant, 오프라인 webhook 테스트 기능이 포함되어 있습니다.

기능

  • 대화형 TUI — 인수 없이 dodo를 실행하면 command palette, 기록, 실시간 알림을 갖춘 전체 대화형 인터페이스가 열립니다.
  • 기본 제공 AI assistant/ai를 사용해 일반 영어로 질문하거나 작업을 수행할 수 있습니다. 추가 설정이 필요하지 않으며, dodopayments-mcp가 로컬에서 실행됩니다.
  • 기본적으로 안전함 — API keys는 OS secret store(macOS Keychain, Windows Credential Vault, Linux libsecret)에 저장됩니다. 디스크에 평문 설정이 저장되지 않습니다.
  • 자동 업데이트 — CLI는 시작 시 새 버전을 확인하고 앱 내에서 알려줍니다. /update를 실행하면 현재 설치 위치에서 업그레이드됩니다.
  • Webhook 도구 — 실시간 webhook을 수신하거나 로컬 개발을 위해 오프라인에서 payload를 트리거할 수 있습니다.

설치

macOS 또는 Linux에 CLI를 한 줄로 설치합니다:

npm 또는 Bun으로 설치

Node 또는 Bun이 이미 설치되어 있다면 package manager 설치는 항상 최신 버전을 가져옵니다:

수동 설치(Node / Bun 불필요)

원격 스크립트를 sh로 pipe하고 싶지 않다면 바이너리를 직접 다운로드하세요.
1

Download the binary

최신 GitHub Release에서 플랫폼에 맞는 바이너리를 다운로드하세요.
2

Rename the binary to `dodo`

3

Move it to a directory on your PATH

Windows에서 C:\Windows\System32로 이동하려면 administrator 권한이 필요합니다.
4

(Optional) Verify the download

각 release에는 SHA256SUMS.txt가 게시됩니다. 다음 명령으로 다운로드를 확인하세요:

인증

인증된 명령을 사용하기 전에 API key로 로그인하세요:
또는 대화형 TUI 내부에서 실행하세요:
로그인 흐름은 다음과 같이 진행됩니다:
  1. 브라우저에서 Dodo Payments API Keys 페이지를 엽니다.
  2. API Key를 붙여넣도록 요청합니다.
  3. 환경을 선택하도록 요청합니다 — Test Mode 또는 Live Mode.
  4. 자격 증명을 OS secret store(macOS의 Keychain, Windows의 Credential Vault, Linux의 libsecret)에 저장합니다.
자격 증명은 OS secret store에 저장되므로 CLI가 처음으로 자격 증명을 읽거나 쓸 때 device password를 입력하라는 메시지가 표시될 수 있습니다. 이전 버전에서 업그레이드하는 경우 기존 평문 API key는 자동으로 secret store로 마이그레이션되고 기존 파일은 삭제됩니다.

모드 전환 및 로그아웃

하나의 Test Mode key와 하나의 Live Mode key를 동시에 인증된 상태로 유지할 수 있습니다. 자격 증명을 삭제하려면:
로그아웃 흐름에서 All accounts, Test Mode, Live Mode 중 하나를 독립적으로 선택할 수 있습니다.

사용법

CLI는 두 가지 모드로 사용할 수 있습니다.

1. 대화형 TUI(권장)

인수 없이 dodo를 실행하면 전체 대화형 인터페이스가 시작됩니다:
/를 입력하면 command palette가 열립니다. 또는 바로 입력을 시작하세요 — slash command가 아닌 모든 내용은 AI assistant로 전송됩니다.

2. 직접 subcommand 실행

TUI에 들어가지 않고 명령을 직접 실행합니다:
예시:
아래 참조 표에는 모든 명령이 나와 있습니다. TUI에서는 명령 앞에 /를 붙이고, 직접 모드에서는 /를 생략합니다.

AI Assistant

자연어로 질문하거나 작업을 수행할 수 있습니다. assistant는 로컬에서 실행되는 dodopayments-mcp를 사용합니다. 추가 설정이나 OAuth 흐름이 필요하지 않으며, AI 트래픽은 model provider와 통신하는 경우를 제외하고 컴퓨터 밖으로 나가지 않습니다. 예시:
assistant는 활성 환경(Test / Live)을 따르므로 현재 로그인한 환경의 데이터에 대해서만 작업합니다.

프로젝트 Scaffolding

dodo init는 기존 프로젝트에 Dodo Payments billing route를 직접 scaffold합니다. 기본 route 파일을 생성하고, 일치하는 @dodopayments/* adapter package를 설치하며, DODO_PAYMENTS_* environment variables를 .env에 안전하게 작성합니다(아직 없는 변수만 추가합니다). 이 명령은 로그인 없이 실행됩니다.
Better-Auth scaffold에서는 생성할 plugin을 쉼표로 구분해 전달할 수 있습니다(기본값은 모두 생성): checkout, portal, usage, webhooks.
scaffolder는 src/ directory를 자동으로 감지하고 그에 따라 output path를 조정합니다. 또한 package manager(bun, pnpm, yarn 또는 npm)를 자동으로 감지해 올바른 install command를 실행합니다.

명령 참조

Products

product catalog를 관리합니다.

Payments

payment transaction을 확인합니다.

Customers

customer base를 관리합니다.

Discounts

coupon과 discount를 관리합니다.

Licenses

software license를 관리합니다.

Addons

product addon을 관리합니다.

Refunds

refund 정보를 확인합니다.

Checkout

hosted checkout session을 생성합니다.

Webhooks

CLI에는 개발 중 webhook을 테스트하기 위한 두 가지 강력한 도구가 포함되어 있습니다. 하나는 실시간 test webhook을 로컬 server로 전달하는 listener이고, 다른 하나는 모든 endpoint로 mock webhook payload를 전송하는 trigger입니다.

Webhook 수신

Dodo Payments에서 로컬 development server로 webhook을 실시간 전달합니다.
1

Enter your local endpoint URL

webhook을 수신할 로컬 URL을 입력하세요(예: http://localhost:3000/webhook).
2

Automatic setup

CLI는 아직 존재하지 않는 경우 Dodo Payments 계정에 webhook endpoint를 자동으로 생성한 다음, WebSocket connection을 열어 실시간으로 event를 수신합니다.
3

Receive and forward

webhook event가 발생하면(test payment, subscription 변경 등) CLI가 이를 수신하고 event type을 기록한 뒤, headers와 body를 포함한 전체 request를 로컬 endpoint로 전달합니다. endpoint의 response가 기록되고 다시 전송됩니다.
dodo wh listen에는 Test Mode API key가 필요합니다. listen flow에서는 Live Mode key가 지원되지 않습니다.
listener는 로컬 endpoint로 전달할 때 원본 webhook headers(webhook-id, webhook-signature, webhook-timestamp)를 유지하므로 signature verification logic을 테스트할 수 있습니다.

Test webhook 트리거

실제 transaction을 생성하지 않고 빠르게 테스트할 수 있도록 모든 endpoint로 mock webhook payload를 전송합니다.
/wh trigger flow는 다음 단계를 안내합니다:
  1. destination endpoint URL 설정
  2. 대화형 메뉴에서 트리거할 특정 event 선택
dodo wh trigger에는 로그인이 필요하지 않습니다. 로컬/오프라인 webhook payload generator로 작동합니다.
트리거된 event에는 서명이 추가되지 않습니다. 테스트 중에는 endpoint에서 webhook signature verification을 비활성화하세요. 예를 들어 webhook handler에서는 테스트 중에만 unwrap() 대신 unsafe_unwrap()를 사용합니다.

지원되는 webhook event

Environment variables

업데이트

CLI는 시작 시 최신 version이 있는지 확인하고, 사용 가능한 경우 status bar에 알림을 표시합니다. 업그레이드하려면:
또는 installer를 다시 실행해 현재 설치 위치에서 업그레이드합니다:

리소스

GitHub Repository

source code 및 release 보기

npm Package

npm registry에서 보기

지원

마지막 수정일 2026년 7월 22일