Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.

Checkout Sessions
Terapkan satu atau beberapa kode yang ditumpuk selama checkout yang di-host dengan
discount_codes dan kontrol UI.Validate Discount
Periksa apakah diskon valid berdasarkan ID-nya.
Get Discount by Code
Cari dan validasi diskon menggunakan nama kode yang dapat dibaca manusia (misalnya “SAVE20”).
Create Discount (API)
Buat kode diskon baru secara programatis.
List & Update Discounts
Telusuri dan kelola diskon yang ada; perbarui atau hapus sesuai kebutuhan.
Apa Itu Kode Diskon?
Kode diskon adalah token promosi yang mengurangi total pesanan saat checkout. Mereka ideal untuk:- Kampanye musiman: Black Friday, peluncuran produk, atau ulang tahun
- Tawaran akuisisi: Insentif pembelian pertama atau hadiah rujukan
- Retensi: Hadiah untuk memenangkan kembali atau loyalitas bagi pelanggan yang ada
- Kesepakatan B2B: Harga yang dikontrak atau dinegosiasikan melalui kode pribadi
Manfaat Utama
- Diskon fleksibel: Persentase atau jumlah tetap
- Kontrol terarah: Batasi berdasarkan produk dan siklus langganan
- Tata kelola kampanye: Tanggal kedaluwarsa dan batas penggunaan
- Checkout yang mulus: Dukungan UI field dan API melalui sesi checkout
- Diskon fleksibel: Persentase atau jumlah tetap
-
Kode yang dapat ditumpuk: Terapkan hingga 20 kode per checkout, pembayaran, atau langganan — gabungkan kampanye (misalnya
WELCOME10+BLACKFRIDAY20) tanpa membuat kode khusus - Kontrol yang ditargetkan: Batasi berdasarkan produk dan siklus langganan
- Pengelolaan kampanye: Tanggal kedaluwarsa dan batasan penggunaan
- Checkout yang mulus: Dukungan bidang UI dan API melalui sesi checkout
Pengaturan Dasbor
- Nama Diskon (wajib): Nama tampilan internal dan dasbor
- Kode (wajib): String yang dimasukkan pelanggan saat checkout
- Tipe & Jumlah (wajib): Tetapkan nilai persentase atau jumlah tetap, atau buat kode acak menggunakan tombol yang disediakan
- Tanggal Kedaluwarsa (opsional): Tanggal setelah kode menjadi tidak valid
- Batas Penggunaan (opsional): Total maksimum penukaran di seluruh pelanggan
- Pembatasan Produk (opsional): Batasi penerapan pada produk yang dipilih
- Batas Siklus Langganan (opsional): Jumlah siklus penagihan yang berlaku untuk diskon
- Nama Diskon (wajib): Nama tampilan internal dan di dasbor
- Kode (wajib): String yang dimasukkan pelanggan saat checkout
- Jenis & Jumlah (wajib): Tetapkan nilai persentase atau jumlah tetap, atau buat kode acak menggunakan tombol yang disediakan
- Tanggal Kedaluwarsa (opsional): Tanggal setelah kode menjadi tidak valid
- Batasan Penggunaan (opsional): Maksimal total penebusan untuk semua pelanggan
- Pembatasan Produk (opsional): Batasi penerapan pada produk yang dipilih
- Batas Siklus Berlangganan (opsional): Jumlah siklus penagihan yang berlaku untuk diskon
- Metadata (opsional): Lampirkan pasangan kunci–nilai kustom untuk pelacakan internal atau integrasi
Pengalaman Checkout
- Pembeli memasukkan kode di field checkout.
- Diskon yang memenuhi syarat diterapkan dan total diperbarui segera.
Dalam Sesi Checkout, kirim
discount_code untuk menerapkan kode terlebih dahulu, dan atur feature_flags.allow_discount_code untuk menampilkan bidang input.Dalam Sesi Checkout, serahkan
discount_codes (sebuah array) untuk menerapkan satu atau beberapa kode sebelumnya, dan atur feature_flags.allow_discount_code untuk menampilkan bidang input. Kode diterapkan dalam urutan array, dengan maksimum 20.Menumpuk Kode Diskon
Sesi checkout, pembayaran, dan langganan menerima hingga 20 kode yang ditumpuk melalui arraydiscount_codes (maksimal 20 entri). Kode diterapkan dalam urutan array, jadi kode terpilih pertama mengurangi harga dasar terlebih dahulu, kode berikutnya mengurangi harga yang sudah didiskon, dan seterusnya. Set lengkap diskon yang diterapkan dikembalikan dalam respons di bawah discount_ids (pada pembayaran/langganan) dan discounts (detail per diskon yang lebih kaya, termasuk posisi dan siklus langganan yang tersisa).
Bidang tunggal
discount_code tidak lagi digunakan tetapi tetap didukung sepenuhnya untuk kompatibilitas mundur — integrasi yang ada tetap berfungsi tanpa perubahan. Tidak dapat digabungkan dengan discount_codes dalam permintaan yang sama. Kami merekomendasikan pengalihan ke discount_codes (bentuk array) jika nyaman, meskipun untuk kode tunggal, untuk memanfaatkan penumpukan dan respons yang lebih kaya.Manajemen API
Create discounts
Create discounts
Buat kode diskon secara programatik dengan jenis dan jumlah.
API Reference
Lihat API pembuatan diskon.
List and retrieve
List and retrieve
Daftar semua diskon atau ambil detail untuk manajemen dan audit.
API Reference
Telusuri API daftar dan pengambilan.
Get discount by code
Get discount by code
Cari diskon menggunakan kode yang mudah dibaca manusia (misalnya, “SAVE20”) alih-alih ID internal.
API Reference
Ambil diskon berdasarkan nama kode.
Update discounts
Update discounts
Ubah konfigurasi diskon seperti jumlah, kedaluwarsa, atau pembatasan.
API Reference
Pelajari cara memperbarui detail diskon.
Validate discounts
Validate discounts
Periksa apakah diskon valid dan dapat diterapkan sebelum menggunakan.
API Reference
Validasi penggunaan diskon.
Delete discounts
Delete discounts
Menonaktifkan atau menghapus diskon yang tidak lagi diperlukan.
API Reference
Hapus diskon.
Kasus Penggunaan Umum
- Penawaran intro: Promosi peluncuran waktu terbatas untuk produk baru
- Bulk atau B2B: Diskon kontrak untuk set produk tertentu
- Pemutaran retensi: Kode menangkan kembali dalam alur kerja pencegahan churn
- Kampanye musiman: Promosi berbasis liburan atau acara
Contoh Integrasi
Buat diskon dengan metadata
Lampirkan pasangan kunci–nilai kustom untuk pelacakan internal.Terapkan diskon dalam Sesi Checkout
Terapkan satu atau lebih diskon yang ditumpuk terlebih dahulu dan tampilkan UI input kode.Terapkan diskon selama perubahan paket
Tawarkan harga promosi ketika pelanggan meningkatkan atau menurunkan langganan mereka.discount_codes nilai | Perilaku pada perubahan paket |
|---|---|
undefined / null (tidak disediakan) | Diskon yang ada dengan preserve_on_plan_change=true dipertahankan jika berlaku untuk produk baru. |
[] (array kosong) | Semua diskon yang ada dihapus dari langganan. |
['CODE_A', 'CODE_B', ...] | Menggantikan diskon yang ada dengan set bertumpuk ini, diterapkan dalam urutan array. |
Baca semua diskon yang diterapkan dari langganan melalui array
discounts baru pada respons langganan. Setiap entri menyertakan discount_id, position, cycles_remaining (untuk langganan), dan kode asli.Aktifkan entri diskon tanpa menerapkan sebelumnya
Biarkan pelanggan memasukkan kode saat checkout tanpa menyerahkan satu pun terlebih dahulu.Praktik Terbaik
- Nama dengan jelas: Gunakan kode yang mudah dikenali yang sesuai dengan nama kampanye
- Batasi waktu: Tambahkan kedaluwarsa untuk mendorong urgensi dan mencegah penyalahgunaan
- Tetapkan dengan bijak: Batasi ke produk tertentu untuk menghindari kebocoran margin
- Validasi lebih awal: Periksa penerapan kode sebelum checkout dikonfirmasi
- Pantau dampak: Lacak penggunaan dan konversi berdasarkan kampanye
Kode diskon adalah alat yang kuat untuk akuisisi dan retensi. Mulailah dengan penawaran yang sederhana dan jelas, validasikan secara menyeluruh, dan iterasikan berdasarkan kinerja.