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
- 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 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 × 150/bulan
- Total biaya bulanan: 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:Strategi 2: Harga Per-Kursi Murni
Kenakan tarif tetap per kursi tanpa biaya dasar. Contoh:Strategi 3: Penetapan Harga Kursi Bertingkat
Rencana dasar yang berbeda dengan tarif per-kursi yang berbeda. Contoh:Strategi 4: Paket Kursi
Jual kursi dalam paket daripada secara individu. Contoh: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:- Navigasi ke Produk → Add-Ons
- Klik Buat Add-On
- Konfigurasikan add-on:
Langkah 3: Buat Produk Langganan Dasar
Buat produk langganan Anda:- Navigasi ke Produk → Buat Produk
- Pilih Langganan
- Konfigurasikan harga dan detail
- Di bagian Add-Ons, lampirkan add-on kursi Anda
Langkah 4: Lampirkan Add-on ke Produk
Tautkan add-on kursi ke langganan Anda:- Edit produk langganan Anda
- Gulir ke bagian Add-Ons
- Klik Tambahkan Add-Ons
- Pilih add-on kursi Anda
- 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
Contoh Prorata
Skenario: Siklus penagihan 15 hari tersisa, menambah 5 kursi seharga $10/kursi- prorated_immediately
- difference_immediately
- full_immediately
- do_not_bill
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
- Hard Limit
- Soft Limit with Warning
- Auto-Upgrade
Mencegah penambahan pengguna dengan tegas lebih dari jumlah kursi.
Pola Lanjutan
Jenis Kursi yang Berbeda
Tawarkan jenis kursi yang berbeda dengan harga berbeda:Diskon Kursi Tahunan
Tawarkan harga kursi tahunan yang didiskon: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
Seat count mismatch between app and billing
Seat count mismatch between app and billing
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
- Implementasikan pengolah webhook untuk
subscription.plan_changed - Tambahkan tombol “Sinkronkan dengan penagihan” yang mengambil langganan saat ini
- Tetapkan cache TTL untuk memastikan penyegaran rutin
Proration charges unexpected
Proration charges unexpected
Gejala: Pelanggan bingung dengan jumlah biaya di tengah siklus.Penyebab:
- Mode prorata tidak dikomunikasikan dengan jelas
- Pelanggan tidak melihat pratinjau sebelum mengkonfirmasi
- Selalu gunakan
previewChangePlansebelum membuat perubahan - Tunjukkan rincian yang jelas: “Menambah X kursi = $Y hari ini (prorata untuk Z hari)”
- Dokumentasikan kebijakan prorata Anda di pusat bantuan
Add-on not appearing in checkout
Add-on not appearing in checkout
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
- Verifikasi add-on terlampir di pengaturan produk
- Periksa status add-on di dasbor Tambahan
- Pastikan mata uang cocok dengan tepat
Cannot reduce seats below current usage
Cannot reduce seats below current usage
Gejala: Pelanggan ingin mengurangi kursi tetapi memiliki pengguna yang ditugaskan.Solusi:
- Tunjukkan pengguna mana yang harus dihapus sebelum mengurangi kursi
- Implementasikan alur kerja: Hapus pengguna → Kurangi kursi
- 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.