Produk adalah dasar dari Dodo Payments. Apakah Anda menjual unduhan sekali pakai, langganan berulang, atau akses berbasis pemakaian, Anda memulainya dengan membuat sebuah produk. Setiap produk menentukan cara penetapan harganya, penyajiannya di halaman checkout, dan pemenuhannya setelah pembelian.
One‑Time
Kenakan biaya sekali untuk akses seumur hidup atau barang tunggal.
Subscriptions
Tagih sesuai jadwal dengan uji coba, prorata, dan tambahan.
Usage‑Based
Mengukur konsumsi dan tagihan berdasarkan penggunaan sebenarnya.
Buat produk
Anda dapat membuat produk dari dasbor atau melalui API. Pilih model harga di awal, Satu Kali, Langganan, atau Berbasis Penggunaan dan kemudian konfigurasikan detailnya. Model harga tidak dapat diubah setelahnya; buat produk baru jika Anda memerlukan model yang berbeda.1
Name & description
Berikan judul yang jelas dan deskripsi bernilai singkat. Deskripsi mendukung Markdown.

2
Pricing model & price
Pilih model harga:
- Satu Kali: Harga tetap dibayar sekali.
- Langganan: Harga berulang dengan interval dan percobaan opsional.
- Berbasis Penggunaan: Harga berasal dari peristiwa yang diukur.
- Harga: Jumlah dasar dan mata uang.
- Diskon (%): Diskon opsional yang ditampilkan saat checkout dan pada faktur.
- Untuk langganan, atur Ulangi setiap (misalnya, 1 bulan atau 1 tahun) dan Hari percobaan jika diperlukan. Harga langganan harus setidaknya $1 (atau setara dalam mata uang yang Anda pilih); jumlah di bawah minimum ini tidak didukung dan langganan tidak akan berfungsi.
3
Product media
Unggah gambar untuk menampilkan produk pada pembayaran dan faktur. Mendukung PNG/JPG/WebP hingga 3 MB. Atur ulang atau ganti kapan saja.
4
Automated entitlements (Under Advanced Settings)
Lampirkan pemenuhan yang aktif secara otomatis setelah pembayaran:
- License Keys: Terbitkan dan validasi kunci unik
- File Downloads: Berikan akses file yang aman
- Custom: Aktifkan logika hak Anda sendiri melalui webhooks
Varian dan opsi harga
Alih-alih varian di bawah satu produk, buat produk terpisah untuk setiap opsi harga (contohnya, Bulanan dan Tahunan). Kemudian kelompokan mereka ke dalam Product Collection untuk menampilkan semua opsi dalam satu checkout dan memungkinkan penggantian paket di Portal Pelanggan.
Mengapa pendekatan ini?
- Model harga yang jelas: Setiap produk memiliki model harga tunggal yang jelas (sekali bayar, berlangganan, atau berdasarkan penggunaan)
- API yang dapat diprediksi: Integrasi lebih sederhana tanpa logika varian bersarang
- Pelaporan lebih mudah: Melacak pendapatan dan metrik per produk tanpa penggabungan varian
- Checkout fleksibel: Menampilkan beberapa produk bersebelahan, membiarkan pelanggan membandingkan dan memilih
Cara kerja Product Collections
- Buat produk: Siapkan produk individual untuk setiap paket (misalnya, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)
- Kelompokkan ke dalam koleksi: Tambahkan produk terkait ke dalam Product Collection
- Checkout terpadu: Pelanggan melihat semua opsi dalam satu checkout dan memilih paket yang mereka inginkan
- Penggantian paket: Pelanggan dapat meningkatkan atau menurunkan antara produk dalam koleksi yang sama melalui Customer Portal
Product Collections
Kelompokkan produk terkait untuk pengalaman checkout terpadu dan jalur upgrade/downgrade yang mulus.
Mengelola produk
Anda dapat mengelola produk melalui dashboard atau secara terprogram melalui API. API menyediakan kontrol penuh atas pembuatan produk, pembaruan, pengambilan, unggahan gambar, dan pengarsipan.Manajemen Dashboard
- Perbarui: Edit nama, deskripsi, gambar, harga, bidang, dan manfaat kapan saja (model harga tidak dapat diubah).
- Arsipkan: Sembunyikan produk dari pembelian baru tanpa mengganggu pelanggan yang ada. Anda dapat membatalkan pengarsipan nanti.
Manajemen API
Instruksi berikut memungkinkan Anda untuk membuat, memperbarui, mengelola, dan mengambil produk, termasuk mengunggah gambar.Creating a Product
Creating a Product
Sebuah produk bisa berupa item sekali pakai atau layanan berbasis langganan. Untuk membuat produk baru, kirimkan permintaan
POST ke titik akhir /products dengan detail seperti nama, deskripsi, harga, mata uang, dan apakah itu produk berulang.Untuk produk berulang, atur objek price ke harga berulang (type: recurring_price) dan tentukan payment_frequency_interval dan subscription_period_interval (Day, Week, Month, atau Year) bersamaan dengan jumlah yang sesuai.Create Product API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Create Product.
Updating a Product
Updating a Product
Untuk memodifikasi produk yang ada, kirimkan permintaan
PATCH ke endpoint /products/{product_id}. Anda dapat memperbarui properti seperti nama, harga, dan deskripsi sambil menjaga detail lainnya tetap tidak berubah.Pastikan bahwa product_id dalam endpoint sesuai dengan produk yang ada.Update Product API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Update Product.
Retrieving Products
Retrieving Products
Anda dapat mengambil daftar produk yang disimpan di akun Anda menggunakan permintaan
GET ke endpoint /products. Ini memungkinkan Anda untuk mengambil detail produk, termasuk produk aktif dan diarsipkan.Retrieve Products API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Retrieve Products.
Uploading Product Images
Uploading Product Images
Anda dapat mengaitkan gambar dengan produk dengan mengunggahnya ke AWS S3 menggunakan URL pre-signed yang disediakan oleh API. Pertama, minta URL unggahan gambar dari endpoint
/products/{product_id}/images, kemudian gunakan URL yang diberikan untuk mengunggah gambar dalam waktu 60 detik.Setelah URL pre-signed diterima dari API, unggah gambar menggunakan metode PUT. Ini memastikan akses yang aman dan sementara ke AWS S3 untuk mengunggah gambar.Perpustakaan yang didukung untuk mengunggah ke S3:- Node.js:
axios,node-fetch - Python:
requests,boto3 - Go:
net/http - PHP:
GuzzleHttp - Ruby:
rest-client
200 OK, menunjukkan bahwa gambar telah disimpan dengan sukses.Upload Product Image API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Upload Product Image.
Archiving a Product
Archiving a Product
Jika Anda tidak lagi ingin menampilkan atau menggunakan produk, Anda dapat mengarsipkannya menggunakan permintaan
DELETE ke endpoint /products/{id}. Tindakan ini menyembunyikan produk tetapi tidak menghapusnya secara permanen.Archive Product API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Archive Product.
Unarchiving a Product
Unarchiving a Product
Jika Anda perlu memulihkan produk yang diarsipkan, kirimkan permintaan
POST ke endpoint /products/{product_id}/unarchive. Ini akan mengaktifkan kembali produk dan membuatnya tersedia untuk digunakan kembali.Unarchive Product API
Lihat struktur permintaan dan respons yang terperinci dalam dokumentasi API Unarchive Product.
Checkout & fulfillment
Checkout & fulfillment
Buat alur pembayaran atau langganan dari produk, dan penuhi secara otomatis melalui manfaat dan webhook.
Checkout Sessions
Buat sesi checkout untuk pembelian sekali atau berlangganan.
Payment Webhooks
Tanggapi peristiwa siklus hidup pembayaran.
Subscription Webhooks
Tangani peristiwa langganan yang dibuat, diperbarui, dan dibatalkan.
Praktik terbaik
- Mulailah dengan kejelasan: Pisahkan produk untuk setiap opsi harga (Bulanan vs Tahunan)
- Gunakan uji coba dengan bijak: Pasangkan uji coba dengan onboarding untuk mendorong aktivasi
- Otomatiskan pemenuhan: Gunakan manfaat dan webhooks untuk pengiriman instan
- Tandai dengan metadata: Simpan ID sistem Anda untuk rekonsiliasi
Anda siap membuat produk dan mulai menjual - sekali, berulang, atau berdasarkan penggunaan.
Terkait
Product Analytics
Lacak pendapatan, pelanggan, retensi, pelanggan, dan MRR untuk setiap produk individual.
Localized Pricing
Tetapkan harga tetap per mata uang atau per negara pada sebuah produk alih-alih mengandalkan kurs nilai tukar langsung.