기능
- Interactive TUI: 인수 없이
dodo를 실행하면 command palette, 기록, 실시간 알림이 포함된 대화형 인터페이스가 열립니다. - Built-in AI assistant:
/ai를 사용해 일반 영어로 질문하거나 작업을 수행할 수 있습니다. assistant는 로컬에서dodopayments-mcp를 실행하므로 별도의 설정이 필요하지 않습니다. - Encrypted credentials: API key는
~/.dodopayments/config.json에 저장되며, AES-256-GCM과 컴퓨터에서 파생된 key로 암호화됩니다. 디스크에 평문 credential은 저장되지 않습니다. - Auto update: CLI는 시작할 때 새 버전을 확인하고 TUI에서 알립니다. npm 및 Bun 설치의 경우
/update를 실행하여 현재 설치를 업그레이드하세요. - Webhook tooling: test mode webhook을 로컬 서버로 전달하거나, 오프라인에서 mock webhook payload를 전송할 수 있습니다.
- Scaffolding:
dodo init를 사용해 Next.js, Express, Better Auth 프로젝트에 billing route를 추가하세요.
설치
macOS 또는 Linux에서는 install script를 사용해 최신 release binary를 설치하세요:dodo를 /usr/local/bin, ~/.local/bin, ~/bin 중 쓰기 가능한 첫 번째 directory에 설치합니다. 모두 쓸 수 없으면 ~/.local/bin에 설치합니다. 특정 release를 설치하려면 DODO_VERSION environment variable을 해당 tag로 설정하세요. directory를 선택하려면 DODO_INSTALL_DIR를 설정하세요.
NPM 또는 Bun으로 설치
Node.js 또는 Bun이 있다면dodopayments-cli package를 전역으로 설치하세요. package manager 설치는 게시된 최신 version을 가져옵니다:
dodo login와 같은 직접 subcommand는 Node.js 18 이상에서 실행됩니다. package manager를 통해 설치하면 대화형 TUI에도 Bun이 필요합니다. Release binary에는 runtime이 필요하지 않습니다.수동 설치(Node / Bun 불필요)
remote script를 실행하지 않고 설치하려면 binary를 직접 다운로드하세요.1
Download the Binary
최신 GitHub Release에서 플랫폼에 맞는 binary를 다운로드하세요.
2
Rename the Binary to dodo
3
Move It to a Directory on Your PATH
Windows에서 파일을
C:\Windows\System32로 이동하려면 administrator privilege가 필요합니다.4
(Optional) Verify the Download
각 release는
SHA256SUMS.txt 파일을 게시합니다. 이를 binary 옆에 다운로드한 다음 binary를 검증하세요:Authentication
계정을 읽거나 변경하는 command를 실행하기 전에 API key로 로그인하세요. 직접 subcommand로 로그인하려면 key와 mode인test 또는 live를 전달하세요:
- 브라우저에서 dashboard의 Developer → API Keys 페이지를 엽니다.
- API key를 붙여넣으라는 메시지가 표시됩니다.
- Test Mode 또는 Live Mode를 선택하라는 메시지가 표시됩니다.
~/.dodopayments/config.json에 암호화하여 저장합니다.
암호화 key는 컴퓨터에서 파생되므로 저장된 credential은 해당 컴퓨터에서만 작동합니다. key를 OS keychain에 저장하던 v3.0.x에서 업그레이드하는 경우
dodo login를 다시 실행하세요. 이전의 평문 ~/.dodopayments/api-key 파일에 있는 key는 자동으로 migration되며 해당 파일은 삭제됩니다.Mode 전환 및 로그아웃
하나의 test mode key와 하나의 live mode key를 동시에 로그인 상태로 유지할 수 있습니다. TUI에서 active mode를 전환하려면/switch를 실행하세요. 저장된 key를 삭제하려면:
test, live 또는 all를 전달하세요. TUI에서는 /logout가 All accounts, Test Mode 또는 Live Mode를 선택하게 한 다음 확인을 요청합니다.
사용법
CLI는 두 가지 mode로 사용할 수 있습니다.1. Interactive TUI(권장)
인수 없이dodo를 실행하면 대화형 인터페이스가 열립니다:
/를 입력하면 command palette가 열립니다. /로 시작하지 않는 텍스트는 AI assistant로 전달됩니다.
2. Direct Subcommands
TUI를 열지 않고 command를 실행하세요:dodo 를 /로 바꾸세요. 예를 들어 /payments list 1와 같습니다. TUI only로 표시된 command는 대화형 wizard입니다. direct mode에서는 TUI를 열라는 메시지가 표시됩니다.
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을 쉼표로 구분해 전달할 수 있습니다:
checkout, portal, usage 및 webhooks. 목록을 지정하지 않으면 네 가지를 모두 생성합니다.
project에
src/ directory가 있으면 scaffolder는 그 안에 file을 작성합니다. project의 lock file( bun, pnpm 또는 yarn)에서 install command를 선택하며, lock file이 없으면 npm를 사용합니다.Command Reference
이 command를 사용하려면 로그인된 API key가 필요합니다. list command는 선택적 page number를 받으며 기본값은 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 정보를 확인합니다.Checkout
hosted checkout session을 생성합니다.Webhooks
CLI에는 개발을 위한 두 가지 webhook tool이 있습니다. test mode webhook을 로컬 server로 전달하는 listener와 mock webhook payload를 모든 endpoint로 전송하는 trigger입니다.
direct mode에서는 argument가 필요합니다. TUI에서는
/wh listen 또는 /wh trigger를 인수 없이 실행해 대화형 wizard를 여세요.
Webhook 수신
Dodo Payments 계정의 webhook을 로컬 development server로 실시간 전달합니다.1
Enter Your Local Endpoint URL
webhook을 수신할 로컬 URL을 전달하세요. 예:
http://localhost:3000/webhook. TUI wizard에서는 CLI가 URL을 요청합니다.2
Automatic Setup
계정에 CLI relay server용 webhook endpoint가 없으면 CLI가 하나 생성합니다. endpoint는 Developer → Webhooks에 표시됩니다. 그런 다음 CLI는 relay에 WebSocket connection을 열어 event를 실시간으로 수신합니다.
3
Receive and Forward
webhook event가 발생하면(예: test payment 또는 subscription 변경) CLI는 payload와 header를
POST request로 로컬 endpoint에 전달합니다. event type과 endpoint response를 기록하고 response를 relay로 다시 보냅니다.relay와 CLI는 JSON body를 파싱한 후 다시 직렬화하여 전달합니다. 전달된 body가 원본과 바이트 단위로 다르면, 예를 들어 숫자 형식이 달라진 경우 헤더가 그대로 유지되더라도 signature verification이 실패합니다.
Test Webhook Trigger
실제 transaction을 생성하지 않고 모든 endpoint로 mock webhook payload를 전송합니다./wh trigger wizard가 다음 과정을 안내합니다:
- destination endpoint URL 설정.
- 선택적으로 payload에 Business ID, Product ID, Metadata(JSON object), Customer email, Customer ID 입력. 빈 field에는 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은 다음 목록과 정확히 동일하게 전달하세요:
세 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의 의미와 Dodo Payments가 production에서 이를 emit하는 시점은 Webhook Events를 참조하세요.
Environment Variables
이 variable은dodo wh listen의 connection 방식을 변경합니다:
Updates
CLI는 시작할 때 최신 version을 확인하고, 사용 가능한 version이 있으면 status bar에 notification을 표시합니다. TUI에서 npm 또는 Bun 설치를 upgrade하려면 다음을 실행하세요:/update는 release binary를 upgrade할 수 없습니다. install script를 사용한 설치를 포함한 binary 설치의 경우 대신 최신 GitHub release로 연결합니다. 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으로 문의하세요.