Langsung ke konten utama
Penagihan berbasis kursi memungkinkan Anda menagih pelanggan berdasarkan jumlah pengguna, anggota tim, atau lisensi yang mereka perlukan. Ini adalah model harga standar untuk alat kolaborasi tim, perangkat lunak perusahaan, dan produk SaaS B2B.

Implementation Tutorial

Panduan langkah demi langkah dengan contoh kode.

Add-ons Documentation

Pelajari tentang sistem add-on yang mendukung penagihan berbasis kursi.

Subscription Management

Kelola langganan berbasis kursi dan perubahan paket.

Webhooks

Lacak perubahan kursi dengan webhook langganan.

Apa itu Penagihan Berdasarkan Kursi?

Penagihan berbasis kursi (juga disebut harga per pengguna atau per kursi) mengenakan biaya kepada pelanggan berdasarkan jumlah pengguna yang mengakses produk Anda. Alih-alih biaya tetap, harga akan meningkat seiring dengan ukuran tim.

Kasus Penggunaan Umum

Manfaat Harga Berdasarkan Kursi

Untuk Bisnis Anda:
  • Pendapatan berkembang secara alami seiring pertumbuhan pelanggan
  • Harga yang dapat diprediksi yang dapat dianggarkan oleh pelanggan
  • Jalur peningkatan yang jelas dari individu ke tim hingga perusahaan
  • Nilai seumur hidup yang lebih tinggi seiring tim berkembang
Untuk Pelanggan Anda:
  • Bayar hanya untuk apa yang mereka gunakan
  • Mudah dipahami dan memprediksi biaya
  • Fleksibilitas untuk menambah/menghapus pengguna sesuai kebutuhan
  • Harga yang adil yang sesuai dengan ukuran tim

Bagaimana Penagihan Berdasarkan Kursi Bekerja di Dodo Payments

Dodo Payments menerapkan penagihan berbasis kursi menggunakan sistem Add-ons. Berikut cara kerjanya:

Ikhtisar Arsitektur

Langganan Team Pro seharga 99/bulandanmencakup5kursi.JikaAndamemilikilebihdari5pengguna,Andamembayar99/bulan dan mencakup 5 kursi. Jika Anda memiliki lebih dari 5 pengguna, Anda membayar 15/bulan tambahan untuk setiap kursi ekstra. Misalnya, jika tim Anda membutuhkan 15 kursi:
  • Paket Dasar: $99/bulan (termasuk 5 kursi)
  • Add-on: 10 kursi tambahan × 15/bulan=15/bulan = 150/bulan
  • Total biaya bulanan: 99+99 + 150 = $249 untuk 15 kursi

Komponen Utama


Strategi Penetapan Harga

Pilih strategi penetapan harga berbasis kursi yang sesuai untuk bisnis Anda:

Strategi 1: Dasar + Add-on Per-Kursi

Sertakan sejumlah kursi dalam rencana dasar, kenakan biaya untuk kursi tambahan. Contoh:
Terbaik untuk: Produk di mana tim kecil dapat berfungsi dengan penawaran dasar.

Strategi 2: Harga Per-Kursi Murni

Kenakan tarif tetap per kursi tanpa biaya dasar. Contoh:
Implementasi: Atur harga rencana dasar menjadi $0, gunakan hanya add-on kursi. Terbaik untuk: Penetapan harga yang sederhana dan transparan; model berbasis penggunaan.

Strategi 3: Penetapan Harga Kursi Bertingkat

Rencana dasar yang berbeda dengan tarif per-kursi yang berbeda. Contoh:
Implementasi: Buat produk terpisah untuk setiap tingkat dengan harga add-on yang berbeda. Terbaik untuk: Mendorong peningkatan ke tingkat yang lebih tinggi; penjualan perusahaan.

Strategi 4: Paket Kursi

Jual kursi dalam paket daripada secara individu. Contoh:
Implementasi: Buat beberapa add-on untuk ukuran paket yang berbeda. Terbaik untuk: Menyederhanakan keputusan pembelian; mendorong komitmen yang lebih besar.

Menyiapkan Penagihan Berdasarkan Kursi

Langkah 1: Rencanakan Penetapan Harga Anda

Sebelum implementasi, tentukan struktur harga Anda:
1

Define Base Plan

Putuskan apa yang termasuk dalam langganan dasar:
  • Harga dasar (bisa $0 untuk model murni per-kursi)
  • Jumlah kursi yang disertakan
  • Fitur yang tersedia pada tingkat ini
2

Set Seat Pricing

Tentukan biaya add-on per kursi:
  • Harga per kursi tambahan
  • Diskon volume (melalui beberapa add-on)
  • Maksimal kursi yang diperbolehkan (jika berlaku)
3

Consider Billing Frequency

Sesuaikan harga kursi dengan siklus penagihan Anda:
  • Langganan bulanan → biaya kursi bulanan
  • Langganan tahunan → biaya kursi tahunan (seringkali diskon)

Langkah 2: Buat Add-on Kursi

Di dasbor Dodo Payments Anda:
  1. Navigasi ke ProdukAdd-Ons
  2. Klik Buat Add-On
  3. Konfigurasikan add-on:
Buat nama add-on deskriptif yang masuk akal di faktur. “Additional Team Seat” lebih jelas daripada “Seat Add-on” bagi pelanggan yang melihat tagihan mereka.

Langkah 3: Buat Produk Langganan Dasar

Buat produk langganan Anda:
  1. Navigasi ke ProdukBuat Produk
  2. Pilih Langganan
  3. Konfigurasikan harga dan detail
  4. Di bagian Add-Ons, lampirkan add-on kursi Anda

Langkah 4: Lampirkan Add-on ke Produk

Tautkan add-on kursi ke langganan Anda:
  1. Edit produk langganan Anda
  2. Gulir ke bagian Add-Ons
  3. Klik Tambahkan Add-Ons
  4. Pilih add-on kursi Anda
  5. Simpan perubahan
Produk langganan Anda sekarang mendukung harga berbasis kursi. Pelanggan dapat membeli jumlah kursi tambahan berapa pun saat checkout.

Mengelola Kursi

Menambahkan Kursi ke Langganan Baru

Saat membuat sesi checkout, tentukan jumlah kursi:

Mengubah Jumlah Kursi pada Langganan yang Ada

Gunakan API Ubah Rencana untuk menyesuaikan kursi:

Menghapus Kursi

Untuk mengurangi jumlah kursi, tentukan kuantitas yang lebih rendah:

Menghapus Semua Kursi Tambahan

Kirim array addons kosong untuk menghapus semua add-on:

Prorasi untuk Perubahan Kursi

Ketika pelanggan menambah atau menghapus kursi di tengah siklus, prorasi menentukan bagaimana mereka ditagih.

Mode Prorata

prorated_immediately, difference_immediately, dan full_immediately semuanya mengatur ulang siklus penagihan ke tanggal perubahan — pembaruan berikutnya dimulai dari hari ketika perubahan kursi diterapkan. Hanya do_not_bill yang menjaga tanggal pembaruan asli (jumlah kursi baru ditagihkan penuh pada pembaruan berikutnya, tanpa biaya pada saat perubahan).

Contoh Prorata

Skenario: Siklus penagihan 15 hari tersisa, menambah 5 kursi seharga $10/kursi
Pelanggan membayar jumlah prorata sekarang, dan siklus penagihan dimulai ulang ke tanggal perubahan — pembaruan berikutnya ($50/bulan untuk kursi tambahan) ditagihkan satu siklus dari hari ini, bukan dari tanggal pembaruan asli.
Skenario: Menghapus 3 kursi di tengah siklus dengan prorated_immediately
Memilih mode prorata untuk perubahan kursi: Gunakan prorated_immediately untuk penagihan berbasis hari yang adil ketika tim sering mengubah kursi. Gunakan difference_immediately untuk perhitungan yang lebih sederhana yang mengenakan biaya atau memberikan kredit dengan harga kursi penuh. Jika Anda perlu menjaga tanggal pembaruan yang ada tidak berubah, gunakan do_not_bill — satu-satunya mode yang tidak mengatur ulang siklus penagihan (jumlah kursi baru ditagihkan pada pembaruan berikutnya). Lihat Panduan Prorata untuk perbandingan terperinci.

Pratinjau Sebelum Mengubah

Selalu pratinjau prorata sebelum membuat perubahan:

Melacak Kursi dengan Webhook

Pantau perubahan kursi dengan mendengarkan webhook langganan:

Peristiwa yang Relevan

Contoh Pengolah Webhook


Menegakkan Batas Kursi

Aplikasi Anda harus menegakkan batas kursi. Dodo Payments melacak penagihan, tetapi Anda mengontrol akses.

Strategi Penegakan

Mencegah penambahan pengguna dengan tegas lebih dari jumlah kursi.

Pola Lanjutan

Jenis Kursi yang Berbeda

Tawarkan jenis kursi yang berbeda dengan harga berbeda:
Implementasi: Buat add-on terpisah untuk setiap jenis kursi.

Diskon Kursi Tahunan

Tawarkan harga kursi tahunan yang didiskon:
Implementasi: Buat produk terpisah untuk paket bulanan dan tahunan dengan harga add-on yang berbeda.

Persyaratan Kursi Minimum

Memerlukan jumlah kursi minimum untuk beberapa paket:

Praktik Terbaik

Praktik Terbaik Penetapan Harga

  • Komunikasi Jelas: Tampilkan harga per kursi dengan jelas di halaman harga Anda
  • Kursi yang Termasuk: Pertimbangkan untuk memasukkan beberapa kursi dalam harga dasar untuk mengurangi hambatan
  • Diskon Volume: Tawarkan tarif per kursi lebih rendah untuk tim yang lebih besar untuk memenangkan kesepakatan perusahaan
  • Insentif Tahunan: Diskon rencana tahunan untuk meningkatkan arus kas dan retensi

Praktik Terbaik Teknis

  • Cache Jumlah Kursi: Cache jumlah kursi langganan secara lokal untuk menghindari panggilan API pada setiap permintaan
  • Sinkronkan Secara Teratur: Sinkronkan secara berkala jumlah kursi lokal Anda dengan Dodo Payments melalui API
  • Tangani Kegagalan: Jika perubahan kursi gagal, tampilkan pesan kesalahan yang jelas dan opsi ulang
  • Jejak Audit: Catat semua perubahan kursi untuk perselisihan penagihan dan kepatuhan

Praktik Terbaik Pengalaman Pengguna

  • Umpan Balik Real-Time: Tampilkan dampak biaya langsung saat menyesuaikan kursi
  • Langkah Konfirmasi: Memerlukan konfirmasi sebelum perubahan penagihan
  • Transparansi Prorata: Jelaskan dengan jelas biaya prorata sebelum menerapkan
  • Penurunan Mudah: Jangan mempersulit untuk mengurangi kursi (ini membangun kepercayaan)

Pemecahan Masalah

Gejala: Aplikasi Anda menunjukkan jumlah kursi yang berbeda dari langganan.Penyebab:
  • Webhook tidak diterima atau diproses
  • Kondisi balapan selama perubahan kursi
  • Data yang di-cache tidak diperbarui
Solusi:
  1. Implementasikan pengolah webhook untuk subscription.plan_changed
  2. Tambahkan tombol “Sinkronkan dengan penagihan” yang mengambil langganan saat ini
  3. Tetapkan cache TTL untuk memastikan penyegaran rutin
Gejala: Pelanggan bingung dengan jumlah biaya di tengah siklus.Penyebab:
  • Mode prorata tidak dikomunikasikan dengan jelas
  • Pelanggan tidak melihat pratinjau sebelum mengkonfirmasi
Solusi:
  1. Selalu gunakan previewChangePlan sebelum membuat perubahan
  2. Tunjukkan rincian yang jelas: “Menambah X kursi = $Y hari ini (prorata untuk Z hari)”
  3. Dokumentasikan kebijakan prorata Anda di pusat bantuan
Gejala: Add-on kursi tidak tersedia selama pembayaran.Penyebab:
  • Add-on tidak terlampir pada produk
  • Add-on diarsipkan atau dihapus
  • Ketidakcocokan mata uang antara produk dan add-on
Solusi:
  1. Verifikasi add-on terlampir di pengaturan produk
  2. Periksa status add-on di dasbor Tambahan
  3. Pastikan mata uang cocok dengan tepat
Gejala: Pelanggan ingin mengurangi kursi tetapi memiliki pengguna yang ditugaskan.Solusi:
  1. Tunjukkan pengguna mana yang harus dihapus sebelum mengurangi kursi
  2. Implementasikan alur kerja: Hapus pengguna → Kurangi kursi
  3. Pertimbangkan masa tenggang sebelum menerapkan pengurangan kursi

Dokumentasi Terkait

Seat-Based Pricing Tutorial

Panduan implementasi lengkap dengan kode.

Add-ons

Memahami sistem add-on secara mendalam.

Plan Changes & Proration

Tangani modifikasi langganan.

Subscription Webhooks

Lacak peristiwa langganan.
Terakhir diubah pada 9 Juli 2026