Skip to main content
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.
Jaga agar kalimat pertama ditujukan kepada pelanggan dan berorientasi pada hasil; kalimat ini muncul secara menonjol di checkout.
Produk
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.
Kemudian atur harga:
  • Harga: Jumlah dasar dan mata uang. Anda dapat menetapkan harga dasar dalam mata uang apa pun yang dapat ditagihkan oleh Dodo Payments, bukan hanya USD. Gunakan pemilih mata uang yang dapat dicari untuk menemukan mata uang; USD, GBP, EUR, dan INR disematkan di bagian atas daftar.
  • Diskon (%): Diskon inline opsional yang ditampilkan di checkout dan invoice.
  • Untuk subscription, tetapkan Ulangi setiap (misalnya, 1 bulan atau 1 tahun), Hari uji coba, dan Jumlah uji coba opsional untuk paid trial. Harga subscription harus setidaknya $1 (atau setara dalam mata uang yang Anda pilih); jumlah di bawah minimum ini tidak didukung dan subscription tidak akan berfungsi.
Pelanggan di luar mata uang dasar Anda tetap ditagih melalui Adaptive Currency, sehingga Anda dapat membuat harga dalam mata uang yang paling sesuai dengan pasar tanpa mengubah cara pembeli ditagih.
Ingin harga tetap per mata uang atau negara, bukan konversi FX langsung? Tetapkan pricing_mode pada produk dan lampirkan aturan Localized Pricing — misalnya €9.99 dalam EUR atau ₹999 di India.
Perubahan harga hanya memengaruhi pembelian baru. Subscription yang sudah ada mengikuti aturan perubahan paket.
3

Product media

Unggah gambar untuk menampilkan produk di checkout dan invoice. PNG/JPG/WebP hingga 3 MB didukung. Urutkan ulang atau ganti kapan saja.
4

Automated entitlements (Under Advanced Settings)

Lampirkan fulfillment yang aktif secara otomatis setelah pembayaran:
  • License Keys: Terbitkan dan validasi key unik
  • File Downloads: Berikan akses file yang aman
  • Custom: Picu logika entitlement Anda sendiri melalui webhook
Tambahkan atau hapus benefit seiring perkembangan penawaran Anda. Subscriber yang sudah ada akan memperoleh atau kehilangan akses sesuai perubahan.

Varian dan opsi harga

Daripada membuat varian di bawah satu produk, buat produk terpisah untuk setiap opsi harga (misalnya, Monthly dan Yearly). Kemudian kelompokkan produk tersebut ke dalam Product Collection untuk menampilkan semua opsi dalam satu checkout dan mengaktifkan perpindahan paket di Customer Portal.
Product Collections

Mengapa pendekatan ini?

  • Model harga yang jelas: Setiap produk memiliki satu model harga yang terdefinisi dengan baik (one-time, subscription, atau berbasis penggunaan)
  • API yang dapat diprediksi: Integrasi lebih sederhana tanpa logika varian bertingkat
  • Pelaporan lebih mudah: Lacak pendapatan dan metrik per produk tanpa agregasi varian
  • Checkout fleksibel: Tampilkan beberapa produk berdampingan, sehingga pelanggan dapat membandingkan dan memilih

Cara kerja Product Collections

  1. Buat produk: Siapkan produk individual untuk setiap paket (misalnya, Starter Monthly, Starter Annual, Pro Monthly, Pro Annual)
  2. Kelompokkan ke dalam collection: Tambahkan produk terkait ke Product Collection
  3. Checkout terpadu: Pelanggan melihat semua opsi dalam satu checkout dan memilih paket yang diinginkan
  4. Perpindahan paket: Pelanggan dapat upgrade atau downgrade antarproduk dalam collection yang sama melalui Customer Portal

Product Collections

Kelompokkan produk terkait untuk pengalaman checkout terpadu serta alur upgrade/downgrade yang lancar.

Mengelola produk

Anda dapat mengelola produk melalui dashboard atau secara programatis melalui API. API menyediakan kontrol penuh atas pembuatan, pembaruan, pengambilan, pengunggahan gambar, dan pengarsipan produk.

Pengelolaan melalui Dashboard

  • Perbarui: Edit nama, deskripsi, gambar, harga, field, dan benefit kapan saja (model harga tidak dapat diubah).
  • Arsipkan: Sembunyikan produk dari pembelian baru tanpa mengganggu pelanggan yang sudah ada. Anda dapat membatalkan pengarsipan nanti.
  • Draft: Produk yang sedang dikerjakan disimpan sebagai draft sehingga Anda dapat melanjutkannya nanti. Draft disimpan secara terpisah untuk test mode dan live mode, sehingga produk yang belum selesai dalam satu mode tidak pernah masuk ke mode lainnya. Gunakan Clear Draft untuk membuangnya dan memulai dari awal.
Halaman formulir produk dan collection menyertakan tombol action di header, sehingga Anda dapat menyimpan tanpa menggulir ke bagian bawah formulir yang panjang.

Pengelolaan melalui API

Petunjuk berikut memungkinkan Anda membuat, memperbarui, mengelola, dan mengambil produk, termasuk mengunggah gambar.
Produk dapat berupa item one-time atau layanan berbasis subscription. Untuk membuat produk baru, kirim request POST ke endpoint /products dengan detail seperti nama, deskripsi, harga, mata uang, dan apakah produk tersebut recurring.Untuk produk recurring, tetapkan object price ke harga recurring (type: recurring_price) dan tentukan payment_frequency_interval serta subscription_period_interval (Day, Week, Month, atau Year) beserta jumlah masing-masing.

Create Product API

Lihat struktur request dan response secara mendetail di dokumentasi Create Product API.
Untuk mengubah produk yang sudah ada, kirim request PATCH ke endpoint /products/{product_id}. Anda dapat memperbarui properti seperti nama, harga, dan deskripsi dengan mempertahankan detail lainnya.Pastikan product_id di endpoint cocok dengan produk yang sudah ada.

Update Product API

Lihat struktur request dan response secara mendetail di dokumentasi Update Product API.
Anda dapat mengambil daftar produk yang tersimpan di akun menggunakan request GET ke endpoint /products. Ini memungkinkan Anda mengambil detail produk, termasuk produk aktif dan yang diarsipkan.

Retrieve Products API

Lihat struktur request dan response secara mendetail di dokumentasi Retrieve Products API.
Anda dapat mengaitkan gambar dengan produk dengan mengunggahnya ke AWS S3 menggunakan pre-signed URL yang disediakan oleh API. Pertama, minta URL pengunggahan gambar dari endpoint /products/{product_id}/images, lalu gunakan URL yang diberikan untuk mengunggah gambar dalam waktu 60 detik.
Pre-signed URL kedaluwarsa dalam 60 detik, jadi gambar harus diunggah dalam jangka waktu tersebut.
Setelah pre-signed URL diterima dari API, unggah gambar menggunakan method PUT. Ini memastikan akses yang aman dan sementara ke AWS S3 untuk mengunggah gambar.Library yang didukung untuk mengunggah ke S3:
  • Node.js: axios, node-fetch
  • Python: requests, boto3
  • Go: net/http
  • PHP: GuzzleHttp
  • Ruby: rest-client
Jika pengunggahan berhasil, AWS S3 akan mengembalikan status 200 OK, yang menunjukkan bahwa gambar telah berhasil disimpan.

Upload Product Image API

Lihat struktur request dan response secara mendetail di dokumentasi Upload Product Image API.
Jika Anda tidak lagi ingin menampilkan atau menggunakan produk, Anda dapat mengarsipkannya menggunakan request DELETE ke endpoint /products/{id}. Tindakan ini menyembunyikan produk, tetapi tidak menghapusnya secara permanen.

Archive Product API

Lihat struktur request dan response secara mendetail di dokumentasi Archive Product API.
Jika Anda perlu memulihkan produk yang diarsipkan, kirim request POST ke endpoint /products/{product_id}/unarchive. Ini akan mengaktifkan kembali produk dan membuatnya tersedia untuk digunakan kembali.

Unarchive Product API

Lihat struktur request dan response secara mendetail di dokumentasi Unarchive Product API.
Buat alur pembayaran atau subscription dari produk, lalu lakukan fulfillment secara otomatis melalui benefit dan webhook.

Checkout Sessions

Buat checkout session untuk pembelian one-time atau subscription.

Payment Webhooks

Tanggapi event siklus pembayaran.

Subscription Webhooks

Tangani event subscription yang dibuat, diperbarui, dan dibatalkan.

Praktik terbaik

  • Mulai dengan kejelasan: Pisahkan produk untuk setiap opsi harga (Monthly vs Yearly)
  • Gunakan trial dengan bijak: Padukan trial dengan onboarding untuk mendorong aktivasi
  • Otomatiskan fulfillment: Gunakan benefit dan webhook untuk mengirimkan akses secara instan
  • Tambahkan tag metadata: Simpan ID sistem Anda untuk rekonsiliasi
Anda siap membuat produk dan mulai menjual — secara one-time, recurring, atau berdasarkan penggunaan.

Terkait

Product Analytics

Lacak pendapatan, pelanggan, retensi, subscriber, dan MRR untuk setiap produk.

Localized Pricing

Tetapkan harga tetap per mata uang atau per negara pada produk, alih-alih mengandalkan nilai tukar langsung.
Terakhir diubah pada 31 Juli 2026