Skip to main content
Dodo CLI mengelola resource Dodo Payments Anda, menjawab pertanyaan tentang akun dengan asisten AI bawaan, membuat sesi checkout, dan menguji webhook, semuanya dari terminal. Gunakan TUI interaktifnya, atau jalankan subperintah langsung dari skrip.

Fitur

  • TUI interaktif: Jalankan dodo tanpa argumen untuk membuka antarmuka interaktif, lengkap dengan palet perintah, riwayat, dan notifikasi langsung.
  • Asisten AI bawaan: Ajukan pertanyaan atau lakukan tindakan dalam bahasa Inggris biasa dengan /ai. Asisten menjalankan dodopayments-mcp secara lokal dan tidak memerlukan penyiapan tambahan.
  • Kredensial terenkripsi: API keys disimpan di ~/.dodopayments/config.json, dienkripsi dengan AES-256-GCM dan kunci yang diturunkan dari mesin Anda. Tidak ada kredensial plaintext yang disimpan di disk.
  • Pembaruan otomatis: CLI memeriksa versi baru saat dimulai dan memberi tahu Anda di TUI. Untuk instalasi npm dan Bun, jalankan /update untuk meningkatkan versi di tempat.
  • Peralatan webhook: Teruskan webhook mode pengujian ke server lokal Anda, atau kirim payload webhook tiruan secara offline.
  • Scaffolding: Tambahkan rute billing ke proyek Next.js, Express, dan Better Auth dengan dodo init.

Instalasi

Di macOS atau Linux, instal binary rilis terbaru dengan skrip instalasi:
Skrip tersebut memverifikasi binary berdasarkan checksum SHA-256 rilis. Skrip menginstal dodo ke direktori pertama yang dapat ditulisi di antara /usr/local/bin, ~/.local/bin, dan ~/bin, atau ke ~/.local/bin jika tidak ada yang dapat ditulisi. Untuk menginstal rilis tertentu, tetapkan variabel lingkungan DODO_VERSION ke tag rilis tersebut. Untuk memilih direktori, tetapkan DODO_INSTALL_DIR.

Instal dengan NPM atau Bun

Jika Anda memiliki Node.js atau Bun, instal package dodopayments-cli secara global. Instalasi melalui package manager mengambil versi terbaru yang dipublikasikan:
Subperintah langsung seperti dodo login berjalan pada Node.js 18 atau yang lebih baru. Saat Anda menginstal melalui package manager, TUI interaktif juga memerlukan Bun. Binary rilis tidak memerlukan runtime apa pun.

Instalasi Manual (Tanpa Node / Bun)

Untuk menginstal tanpa menjalankan skrip jarak jauh, unduh binary sendiri.
1

Download the Binary

Unduh binary untuk platform Anda dari GitHub Release terbaru.
2

Rename the Binary to dodo

3

Move It to a Directory on Your PATH

Di Windows, memindahkan file ke C:\Windows\System32 memerlukan hak administrator.
4

(Optional) Verify the Download

Setiap rilis menerbitkan file SHA256SUMS.txt. Unduh file tersebut di samping binary, lalu verifikasi binary:

Autentikasi

Login dengan API key sebelum menjalankan perintah yang membaca atau mengubah akun Anda. Untuk login dengan subperintah langsung, teruskan key dan modenya, test atau live:
Atau, dari dalam TUI interaktif:
Alur login TUI:
  1. Membuka halaman Developer → API Keys di dashboard melalui browser Anda.
  2. Meminta Anda menempelkan API key.
  3. Meminta Anda memilih Test Mode atau Live Mode.
Kedua perintah memverifikasi key dengan request ke API, lalu menyimpannya secara terenkripsi di ~/.dodopayments/config.json.
Kunci enkripsi diturunkan dari mesin Anda, sehingga kredensial yang tersimpan hanya berfungsi di mesin tersebut. Jika Anda melakukan upgrade dari v3.0.x, yang menyimpan key di keychain OS, jalankan kembali dodo login. Key dalam file plaintext lama ~/.dodopayments/api-key dimigrasikan secara otomatis, dan file tersebut dihapus.

Beralih Mode dan Logout

Anda dapat tetap login dengan satu key mode pengujian dan satu key live mode secara bersamaan. Untuk mengganti mode aktif di TUI, jalankan /switch. Untuk menghapus key yang tersimpan:
Dalam mode langsung, teruskan test, live, atau all. Di TUI, /logout meminta Anda memilih All accounts, Test Mode, atau Live Mode, lalu meminta konfirmasi.

Penggunaan

Anda dapat menggunakan CLI dalam dua mode.

1. TUI Interaktif (Disarankan)

Jalankan dodo tanpa argumen untuk membuka antarmuka interaktif:
Ketik / untuk membuka palet perintah. Teks yang tidak dimulai dengan / akan dikirim ke asisten AI.

2. Subperintah Langsung

Jalankan perintah tanpa membuka TUI:
Contoh:
Tabel referensi di bawah mencantumkan setiap perintah dalam bentuk mode langsung. Di TUI, ganti dodo dengan /, misalnya /payments list 1. Perintah yang ditandai TUI only adalah wizard interaktif. Dalam mode langsung, perintah tersebut mencetak pesan yang meminta Anda membuka TUI.

Asisten AI

Ajukan pertanyaan tentang akun Anda atau lakukan tindakan dalam bahasa Inggris biasa. Asisten menjalankan dodopayments-mcp di mesin Anda, sehingga tidak memerlukan penyiapan tambahan atau alur OAuth. Asisten memanggil API Dodo Payments dari mesin Anda menggunakan key yang tersimpan dan mengirimkan prompt Anda ke language model. Dalam mode langsung, jalankan dodo ai diikuti pertanyaan Anda. Contoh di TUI:
Asisten menggunakan mode aktif Anda (mode pengujian atau live mode) dan hanya berfungsi dengan data dari mode tersebut.

Scaffolding Proyek

dodo init menambahkan rute billing Dodo Payments ke proyek yang sudah ada. Perintah ini menulis file rute, menginstal package adapter @dodopayments/* yang sesuai, dan menambahkan variabel DODO_PAYMENTS_* yang belum ada ke file .env Anda dengan nilai placeholder. File dan variabel yang sudah ada akan dilewati, dan perintah ini berjalan tanpa login.
Untuk scaffold Better-Auth, Anda dapat meneruskan daftar plugin yang dipisahkan koma untuk dibuat: checkout, portal, usage, dan webhooks. Tanpa daftar, keempatnya akan dibuat.
Jika proyek Anda memiliki direktori src/, scaffolder menulis file di dalamnya. Scaffolder memilih perintah instalasi dari lock file proyek Anda (bun, pnpm, atau yarn) dan menggunakan npm jika tidak menemukan lock file.

Referensi Perintah

Perintah-perintah ini memerlukan API key yang sudah login. Perintah list menerima nomor halaman opsional, yang secara default bernilai 1, dan menampilkan hingga 100 item per halaman.

Produk

Kelola katalog produk Anda.

Pembayaran

Melihat transaksi pembayaran.

Pelanggan

Kelola pelanggan Anda.

Diskon

Kelola kode diskon.

Lisensi

Melihat license key. Ejaan perintahnya adalah licences.

Addon

Kelola addon produk.

Pengembalian Dana

Melihat informasi pengembalian dana.

Checkout

Membuat sesi checkout hosted.

Webhook

CLI memiliki dua alat webhook untuk pengembangan: listener yang meneruskan webhook mode pengujian ke server lokal Anda, dan trigger yang mengirim payload webhook tiruan ke endpoint mana pun. Dalam mode langsung, argumen wajib diberikan. Di TUI, jalankan /wh listen atau /wh trigger tanpa argumen untuk membuka wizard interaktif.

Mendengarkan Webhook

Teruskan webhook dari akun Dodo Payments Anda ke server pengembangan lokal secara real time.
dodo wh listen memerlukan API key Test Mode. Key Live Mode tidak didukung oleh alur listen.
1

Enter Your Local Endpoint URL

Teruskan URL lokal yang akan menerima webhook, misalnya http://localhost:3000/webhook. Dalam wizard TUI, CLI akan memintanya.
2

Automatic Setup

Jika akun Anda tidak memiliki endpoint webhook untuk server relay CLI, CLI akan membuatnya. Endpoint tersebut muncul di Developer → Webhooks. CLI kemudian membuka koneksi WebSocket ke relay untuk menerima event secara real time.
3

Receive and Forward

Saat event webhook aktif, misalnya dari pembayaran pengujian atau perubahan subscription, CLI meneruskan payload dan header ke endpoint lokal Anda sebagai request POST. CLI mencatat tipe event dan respons endpoint Anda, lalu mengirimkan respons tersebut kembali ke relay.
Listener mempertahankan header webhook asli (webhook-id, webhook-signature, webhook-timestamp) saat meneruskannya ke endpoint lokal Anda, sehingga Anda dapat menguji logika verifikasi signature.
Relay dan CLI mengurai body JSON lalu melakukan serialisasi ulang sebelum meneruskannya. Jika body yang diteruskan berbeda byte demi byte dari yang asli, misalnya dalam pemformatan angka, verifikasi tanda tangan akan gagal meskipun header tetap utuh.

Memicu Webhook Pengujian

Kirim payload webhook tiruan ke endpoint mana pun, tanpa membuat transaksi nyata.
Event yang dipicu tidak ditandatangani: request tidak membawa header webhook-id, webhook-signature, atau webhook-timestamp. Saat pengujian, parsing event tersebut dengan metode yang tidak terverifikasi (unsafeUnwrap dalam TypeScript, unsafe_unwrap dalam Python, UnsafeUnwrap dalam Go), bukan unwrap, lalu kembali ke unwrap sebelum Anda melakukan live.
Dalam mode langsung, payload menggunakan ID placeholder dan detail pelanggan. Wizard /wh trigger di TUI memandu Anda melalui langkah-langkah berikut:
  1. Menetapkan endpoint URL tujuan.
  2. Secara opsional memasukkan Business ID, Product ID, Metadata (objek JSON), Customer email, dan Customer ID untuk payload. Kolom kosong menggunakan nilai placeholder.
  3. Memilih event yang akan dikirim dari menu interaktif. Anda dapat mengirim beberapa event secara berurutan. Pilih exit untuk selesai.
dodo wh trigger tidak memerlukan login. Perintah ini berfungsi sebagai generator payload webhook lokal dan offline.

Event Webhook yang Didukung

dodo wh trigger dapat mengirim payload tiruan untuk 46 dari 48 tipe event yang dikirimkan Dodo Payments. Perintah ini tidak mendukung subscription.past_due atau subscription.unpaused. Teruskan nama event persis seperti yang tercantum: Tiga nama trigger berbeda dari event type dalam payload yang dikirim: payment.success mengirim payment.succeeded, refund.success mengirim refund.succeeded, dan licence.created mengirim license_key.created.
Bentuk payload tiruan mengikuti schema terkait dalam referensi API. Lihat Webhook Events untuk mengetahui arti setiap event dan kapan Dodo Payments menerbitkannya dalam production.
payout.created diterbitkan saat payout masih melaporkan status not_initiated, sehingga payload tiruan juga mencerminkan hal tersebut. Lihat Payout Events untuk siklus hidup payout selengkapnya.

Variabel Environment

Variabel ini mengubah cara dodo wh listen terhubung:

Pembaruan

CLI memeriksa versi yang lebih baru saat dimulai dan menampilkan notifikasi di status bar jika tersedia. Untuk meningkatkan versi instalasi npm atau Bun dari TUI, jalankan:
/update tidak dapat meningkatkan versi binary rilis. Untuk instalasi binary, termasuk instalasi dengan skrip instalasi, perintah ini mengarahkan Anda ke GitHub release terbaru. Untuk meningkatkan versi dari shell, jalankan kembali perintah yang Anda gunakan saat menginstal:

Resource

GitHub Repository

Source code dan rilis.

npm Package

Package dodopayments-cli di registry npm.

Dukungan

Terakhir diubah pada 28 September 2026