터미널에서 Dodo Payments 리소스를 관리하고, 체크아웃 세션을 생성하며, 웹훅을 테스트하세요. 명령줄을 선호하는 개발자를 위해 제작되었습니다.
npm install -g dodopayments-cli
수동 설치
- 시스템에 맞는 최신 릴리스를 GitHub Releases에서 다운로드합니다.
- 바이너리의 압축을 풀고
dodo로 이름을 바꿉니다.
- PATH에 있는 디렉터리로 이동합니다:
sudo mv ./dodo /usr/local/bin/
CLI를 사용하기 전에 API 키로 인증하세요:
이 작업을 수행하면 다음과 같습니다:
- Dodo Payments API Keys 페이지가 브라우저에서 열립니다.
- API 키를 입력하라는 메시지가 표시됩니다.
- 환경(Test Mode 또는 Live Mode)을 선택하라는 요청을 받습니다.
- 자격 증명이 로컬에
~/.dodopayments/api-key에 저장됩니다.
CLI는 환경별로 하나의 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 받기 |
체크아웃 명령은 최소 주소 수집, 리턴 URL, 3D Secure 시행, 할인 코드 및 메타데이터를 포함한 고급 옵션을 지원합니다.
웹훅 테스트
CLI에는 개발 중 웹훅을 테스트하기 위한 두 가지 강력한 도구가 포함되어 있습니다: 실시간 테스트 웹훅을 로컬 서버로 전달하는 리스너와 원하는 엔드포인트로 모의 웹훅 페이로드를 전송하는 트리거입니다.
웹훅 수신
Dodo Payments에서 로컬 개발 서버로 웹훅을 실시간으로 전달합니다.
Enter your local endpoint URL
웹훅을 수신할 로컬 URL을 지정하세요(예: http://localhost:3000/webhook).
Automatic setup
CLI는 계정에 웹훅 엔드포인트가 없으면 자동으로 생성한 다음 실시간 이벤트를 수신하기 위해 WebSocket 연결을 엽니다.
Receive and forward
웹훅 이벤트가 발생하면(예: 테스트 결제, 구독 변경 등) CLI가 해당 이벤트를 수신하고 이벤트 유형을 기록한 다음 헤더와 본문을 포함한 전체 요청을 로컬 엔드포인트로 전달합니다. 엔드포인트의 응답도 기록되어 다시 전송됩니다.
웹훅 리스너는 테스트 모드 API 키에서만 작동합니다. dodo wh listen를 사용하기 전에 테스트 모드 키로 로그인되어 있는지 확인하세요.
리스너는 로컬 엔드포인트로 전달 시 원래 웹훅 헤더(webhook-id, webhook-signature, webhook-timestamp)를 유지하므로 서명 검증 로직을 테스트할 수 있습니다.
웹훅 트리거 테스트
실제 거래를 생성하지 않고도 모든 엔드포인트에 모의 웹훅 페이로드를 전송하여 빠르게 테스트합니다.
이 도구는 다음 단계를 안내합니다:
- 대상 엔드포인트 URL 설정
- 선택적으로 Business ID, Product ID, Metadata 구성
- 인터랙티브 메뉴에서 트리거할 특정 이벤트 선택
- 모의 페이로드 전송 및 응답 확인
각 이벤트 후에는 다른 이벤트를 선택하거나 종료할 수 있어 하나의 세션에서 여러 이벤트 핸들러를 테스트하기 쉽습니다.
트리거 도구는 웹훅 서명 없이 모의 페이로드를 전송합니다. 테스트 중에는 웹훅 핸들러에서 unwrap() 대신 unsafe_unwrap()를 사용하여 서명 검증을 비활성화하세요.
지원되는 웹훅 이벤트
| 카테고리 | 이벤트 |
|---|
| 구독 | subscription.active, subscription.updated, subscription.on_hold, subscription.renewed, subscription.plan_changed, subscription.cancelled, subscription.failed, subscription.expired |
| 결제 | payment.success, payment.failed, payment.processing, payment.cancelled |
| 환불 | refund.success, refund.failed |
| 분쟁 | dispute.opened, dispute.expired, dispute.accepted, dispute.cancelled, dispute.challenged, dispute.won, dispute.lost |
| 라이선스 | licence.created |
환경 변수
| 변수 | 설명 |
|---|
DODO_WH_TEST_SERVER_URL | dodo wh listen에서 사용하는 기본 웹훅 릴레이 서버 URL을 재정의합니다 |
리소스