Tính năng
- TUI tương tác: Chạy
dodokhông kèm tham số để mở giao diện tương tác với bảng lệnh, lịch sử và thông báo theo thời gian thực. - Trợ lý AI tích hợp: Đặt câu hỏi hoặc thực hiện tác vụ bằng tiếng Anh thông thường với
/ai. Trợ lý chạydodopayments-mcpcục bộ và không cần thiết lập thêm. - Thông tin xác thực được mã hóa: API key được lưu trong
~/.dodopayments/config.json, mã hóa bằng AES-256-GCM với khóa được tạo từ máy của bạn. Không có thông tin xác thực dạng plaintext nào được lưu trên ổ đĩa. - Tự động cập nhật: CLI kiểm tra phiên bản mới khi khởi động và thông báo cho bạn trong TUI. Với các bản cài đặt npm và Bun, chạy
/updateđể nâng cấp trực tiếp. - Công cụ webhook: Chuyển tiếp webhook ở test mode đến server cục bộ hoặc gửi payload webhook giả lập khi offline.
- Tạo cấu trúc ban đầu: Thêm các billing route vào dự án Next.js, Express và Better Auth bằng
dodo init.
Cài đặt
Trên macOS hoặc Linux, cài binary của bản phát hành mới nhất bằng install script:dodo vào thư mục có quyền ghi đầu tiên trong số /usr/local/bin, ~/.local/bin và ~/bin, hoặc vào ~/.local/bin nếu không thư mục nào có quyền ghi. Để cài một bản phát hành cụ thể, đặt biến môi trường DODO_VERSION thành tag của bản đó. Để chọn thư mục, đặt DODO_INSTALL_DIR.
Cài đặt bằng NPM hoặc Bun
Nếu có Node.js hoặc Bun, hãy cài packagedodopayments-cli trên toàn cục. Việc cài đặt bằng package manager sẽ lấy phiên bản mới nhất được phát hành:
Các subcommand trực tiếp như
dodo login chạy trên Node.js 18 trở lên. Khi cài đặt thông qua package manager, TUI tương tác cũng cần Bun. Binary của bản phát hành không cần runtime nào.Cài đặt thủ công (Không cần Node / Bun)
Để cài đặt mà không chạy script từ xa, hãy tự tải binary xuống.1
Download the Binary
Tải binary dành cho nền tảng của bạn từ GitHub Release mới nhất.
2
Rename the Binary to dodo
3
Move It to a Directory on Your PATH
Trên Windows, việc di chuyển file đến
C:\Windows\System32 yêu cầu quyền quản trị viên.4
(Optional) Verify the Download
Mỗi bản phát hành cung cấp một file
SHA256SUMS.txt. Hãy tải file này xuống cùng thư mục với binary, sau đó xác minh binary:Xác thực
Đăng nhập bằng API key trước khi chạy các lệnh đọc hoặc thay đổi tài khoản. Để đăng nhập bằng subcommand trực tiếp, truyền key và mode của key,test hoặc live:
- Mở trang Developer → API Keys của dashboard trong trình duyệt.
- Yêu cầu bạn dán API key.
- Yêu cầu bạn chọn Test Mode hoặc Live Mode.
~/.dodopayments/config.json.
Khóa mã hóa được tạo từ máy của bạn, vì vậy thông tin xác thực đã lưu chỉ hoạt động trên máy đó. Nếu nâng cấp từ v3.0.x, phiên bản lưu key trong OS keychain, hãy chạy lại
dodo login. Các key trong file plaintext cũ ~/.dodopayments/api-key sẽ được tự động di chuyển và file đó bị xóa.Chuyển mode và đăng xuất
Bạn có thể đăng nhập đồng thời một key ở test mode và một key ở live mode. Để chuyển mode đang hoạt động trong TUI, chạy/switch. Để xóa các key đã lưu:
test, live hoặc all. Trong TUI, /logout yêu cầu bạn chọn All accounts, Test Mode hoặc Live Mode, sau đó yêu cầu xác nhận.
Cách sử dụng
Bạn có thể sử dụng CLI ở hai mode.1. TUI tương tác (Khuyến nghị)
Chạydodo không kèm tham số để mở giao diện tương tác:
/ để mở bảng lệnh. Văn bản không bắt đầu bằng / sẽ được gửi đến trợ lý AI.
2. Subcommand trực tiếp
Chạy một lệnh mà không mở TUI:dodo bằng /, chẳng hạn /payments list 1. Các lệnh được đánh dấu TUI only là các trình hướng dẫn tương tác. Ở direct mode, chúng sẽ in thông báo yêu cầu bạn mở TUI.
Trợ lý AI
Đặt câu hỏi về tài khoản hoặc thực hiện tác vụ bằng tiếng Anh thông thường. Trợ lý chạydodopayments-mcp trên máy của bạn, nên không cần thiết lập thêm hoặc OAuth flow. Trợ lý gọi Dodo Payments API từ máy của bạn bằng key đã lưu và gửi prompt của bạn đến language model.
Ở direct mode, chạy
dodo ai rồi nhập câu hỏi. Ví dụ trong TUI:
Tạo cấu trúc dự án
dodo init thêm các billing route của Dodo Payments vào dự án hiện có. Lệnh ghi các file route, cài package adapter @dodopayments/* tương ứng và thêm các biến DODO_PAYMENTS_* còn thiếu vào file .env với giá trị placeholder. Lệnh bỏ qua các file và biến đã tồn tại, đồng thời chạy mà không cần đăng nhập.
Với Better-Auth scaffold, bạn có thể truyền danh sách plugin phân tách bằng dấu phẩy để tạo:
checkout, portal, usage và webhooks. Nếu không truyền danh sách, cả bốn plugin sẽ được tạo.
Nếu dự án có thư mục
src/, scaffolder sẽ ghi các file vào đó. Lệnh này chọn install command từ lock file của dự án (bun, pnpm hoặc yarn) và sử dụng npm nếu không tìm thấy lock file.Tài liệu tham khảo về lệnh
Các lệnh này yêu cầu API key đã đăng nhập. Các lệnh list nhận số trang tùy chọn, mặc định là 1 và hiển thị tối đa 100 mục trên mỗi trang.Product
Quản lý product catalog.Payment
Xem các giao dịch payment.Customer
Quản lý customer.Discount
Quản lý mã discount.License
Xem license key. Lệnh được viết làlicences.
Addon
Quản lý product add-on.Refund
Xem thông tin refund.Checkout
Tạo hosted checkout session.Webhook
CLI có hai công cụ webhook dành cho development: listener chuyển tiếp webhook ở test mode đến server cục bộ và trigger gửi payload webhook giả lập đến bất kỳ endpoint nào.
Ở direct mode, các tham số là bắt buộc. Trong TUI, chạy
/wh listen hoặc /wh trigger không kèm tham số để mở trình hướng dẫn tương tác.
Lắng nghe Webhook
Chuyển tiếp webhook từ tài khoản Dodo Payments đến local development server theo thời gian thực.1
Enter Your Local Endpoint URL
Truyền local URL sẽ nhận webhook, ví dụ
http://localhost:3000/webhook. Trong TUI wizard, CLI sẽ yêu cầu bạn nhập URL này.2
Automatic Setup
Nếu tài khoản chưa có webhook endpoint cho relay server của CLI, CLI sẽ tạo một endpoint. Endpoint xuất hiện trong Developer → Webhooks. Sau đó CLI mở kết nối WebSocket đến relay để nhận sự kiện theo thời gian thực.
3
Receive and Forward
Khi một sự kiện webhook được kích hoạt, chẳng hạn từ payment thử nghiệm hoặc thay đổi subscription, CLI chuyển tiếp payload và header đến local endpoint của bạn dưới dạng request
POST. CLI ghi log loại sự kiện và response của endpoint, rồi gửi response trở lại relay.Relay và CLI phân tích cú pháp phần thân JSON rồi tuần tự hóa lại trước khi chuyển tiếp. Nếu phần thân được chuyển tiếp khác từng byte so với bản gốc, chẳng hạn như ở định dạng số, quá trình xác minh chữ ký sẽ thất bại dù các header vẫn nguyên vẹn.
Kích hoạt Webhook thử nghiệm
Gửi payload webhook giả lập đến bất kỳ endpoint nào mà không tạo giao dịch thực./wh trigger wizard trong TUI hướng dẫn bạn qua các bước:
- Thiết lập endpoint URL đích.
- Tùy chọn nhập Business ID, Product ID, Metadata (một JSON object), Customer email và Customer ID cho payload. Trường để trống sẽ sử dụng giá trị placeholder.
- Chọn event cần gửi từ menu tương tác. Bạn có thể gửi nhiều event liên tiếp. Chọn exit để kết thúc.
dodo wh trigger không yêu cầu đăng nhập. Đây là local, offline webhook payload generator.Webhook Event được hỗ trợ
dodo wh trigger có thể gửi payload giả lập cho 46 trong số 48 event type mà Dodo Payments cung cấp. Công cụ không hỗ trợ subscription.past_due hoặc subscription.unpaused. Truyền tên event chính xác như danh sách dưới đây:
Ba tên trigger khác với event
type trong payload mà chúng gửi: payment.success gửi payment.succeeded, refund.success gửi refund.succeeded và licence.created gửi license_key.created.
Cấu trúc payload giả lập tuân theo schema tương ứng trong API reference. Xem Webhook Events để biết ý nghĩa của từng event và thời điểm Dodo Payments phát ra event đó trong production.
Biến môi trường
Biến này thay đổi cáchdodo wh listen kết nối:
Cập nhật
CLI kiểm tra phiên bản mới hơn khi khởi động và hiển thị thông báo trên status bar khi có phiên bản mới. Để nâng cấp bản cài đặt npm hoặc Bun từ TUI, chạy:/update không thể nâng cấp binary của bản phát hành. Với các bản cài đặt binary, bao gồm bản cài bằng install script, lệnh này thay vào đó liên kết đến GitHub release mới nhất. Để nâng cấp từ shell, chạy lại lệnh bạn đã dùng để cài đặt:
Tài nguyên
GitHub Repository
Mã nguồn và các bản phát hành.
npm Package
Package
dodopayments-cli trên npm registry.Hỗ trợ
- Discord: Tham gia community server.
- GitHub: Mở issue trên repository.
- Email: Liên hệ support@dodopayments.com.