Skip to main content
Credit-Based Billing memungkinkan Anda memberikan saldo kredit kepada pelanggan—panggilan API, token, unit komputasi, atau metrik khusus apa pun—dan mengurangi saldo tersebut saat mereka menggunakan layanan Anda. Kredit dapat digunakan untuk semua jenis produk: subscription, pembelian satu kali, dan usage-based billing.

Apa itu Penagihan Berbasis Kredit?

Penagihan Berbasis Kredit memberi Anda sistem fleksibel untuk memberikan hak kredit kepada pelanggan sebagai bagian dari produk Anda. Alih-alih menagih per penggunaan atau membatasi akses melalui fitur flags, Anda mengalokasikan sejumlah kredit yang dapat digunakan pelanggan saat mereka menggunakan layanan Anda. Kredit cocok digunakan untuk:
  • Platform AI dan LLM: Berikan token atau kredit generasi per tingkat rencana
  • Layanan API: Alokasikan kredit panggilan API dengan harga kelebihan
  • Platform Infrastruktur: Berikan kredit jam komputasi atau penyimpanan
  • Layanan Komunikasi: Sediakan kredit pesan atau menit per langganan
  • SaaS dengan tingkat konsumsi: Gabungkan penggunaan yang termasuk dalam kumpulan kredit
Checkout menampilkan kredit yang termasuk dengan pembelian produk

Credits appear as entitlements on your products and show in checkout, customer portal, and subscription details.

Konsep Inti

Jenis Kredit

Saat membuat kredit, Anda memilih antara dua jenis:
Tentukan kredit menggunakan unit Anda sendiri—token, panggilan API, jam komputasi, atau metrik apa pun yang bermakna bagi produk Anda. Unit khusus menggunakan precision yang Anda tetapkan (0 hingga 10 angka desimal).Terbaik untuk: Panggilan API, token AI, jam komputasi, unit penyimpanan, pesan

Siklus Hidup Kredit

Kredit mengikuti siklus hidup yang jelas dari penerbitan hingga konsumsi:
1

Credits Issued

Kredit diberikan ketika pelanggan membeli produk (subscription atau pembelian satu kali) yang memiliki credit entitlements. Untuk subscription, kredit diterbitkan kembali pada setiap billing cycle.
2

Credits Consumed

Saat pelanggan menggunakan layanan Anda, kredit dikurangi. Untuk produk berbasis penggunaan, pengukur secara otomatis mengurangi kredit berdasarkan peristiwa waktu nyata. Anda juga dapat mengurangi kredit secara manual melalui dashboard atau API.
3

Credits Expire or Roll Over

Pada akhir siklus penagihan (atau setelah periode kedaluwarsa yang dikonfigurasi), kredit yang tidak terpakai akan kedaluwarsa atau bergulir ke periode berikutnya berdasarkan pengaturan Anda.
4

Overage Handling

Jika kredit habis di tengah cycle, Anda dapat mengizinkan overage (penggunaan berlanjut melebihi saldo) dan memilih cara penanganannya: menghapusnya, menagihnya, atau meneruskan defisit ke depan.

Sumber Pemberian

Kredit dapat diberikan dari beberapa sumber:

Membuat Kredit

Buat hak kredit di bagian Produk → Kredit dari dasbor Anda. Setiap kredit mendefinisikan unit, presisi, aturan kedaluwarsa, dan perilaku siklus hidup.
Halaman daftar kredit menampilkan hak kredit yang telah dibuat

The Credits tab under Products shows all your credit entitlements.

1

Navigate to Credits

Buka Produk di dasbor Anda dan pilih tab Kredit. Klik Buat Kredit untuk memulai.
2

Configure Basic Information

Masukkan Credit Name—ini adalah identifier internal Anda untuk kredit tersebut.
Formulir pembuatan kredit menampilkan info dasar, pengaturan umum, dan pengaturan langganan

The credit creation form with all configuration sections.

3

Set General Settings

Konfigurasikan tipe dan properti tampilan kredit:
string
wajib
Pilih Unit Kustom atau Kredit Fiat.
  • Custom Unit: Tentukan metrik Anda sendiri (token, panggilan API, jam komputasi). Memerlukan Unit Name (misalnya, “Platform tokens”) dan pengaturan Precision.
  • Fiat Credits: Kredit merepresentasikan nilai mata uang nyata. Memerlukan pilihan Unit Currency (USD, EUR, GBP, INR, dan lainnya).
string
Hanya untuk kredit Custom Unit. Label yang dilihat pelanggan untuk kredit ini (misalnya, “AI Tokens” atau “API Calls”). Ditampilkan di checkout dan Customer Portal.
number
Hanya untuk kredit Unit Kustom. Jumlah tempat desimal yang diizinkan, dari 0 hingga 10:
  • 0: Bilangan bulat (paling sesuai untuk item yang dapat dihitung seperti panggilan API)
  • 1: Satu angka desimal (0.0)
  • 2: Dua angka desimal (0.00)—default
  • 3: Tiga angka desimal (0.000)
  • Hingga 10: Untuk unit berpresisi tinggi (misalnya, token pecahan atau micro-usage)
Presisi tidak dapat diubah setelah kredit dibuat.
string
Berapa lama kredit tetap valid setelah diterbitkan:
  • 7 hari, 30 hari (default), 60 hari, 90 hari, Kustom, atau Tidak Pernah
Pilih Kustom untuk menentukan jumlah hari kustom (minimal 1).
4

Configure Subscription Settings (Optional)

Pengaturan ini mengontrol perilaku kredit dalam langganan berulang:
boolean
Izinkan kredit yang tidak terpakai untuk dibawa ke siklus penagihan berikutnya. Saat diaktifkan, konfigurasikan:
  • Max Rollover Percentage (0–100%): Batasi jumlah yang dapat diteruskan
  • Rollover Timeframe: Berapa lama kredit yang diteruskan tetap valid (misalnya, 1 Month)
  • Max Rollover Count: Jumlah rollover berturut-turut maksimum sebelum kredit hangus
Ketika Kredit Habis atau Langganan Kedaluwarsa:
boolean
Beri pelanggan izin untuk terus menggunakan layanan Anda setelah saldo kredit mereka mencapai nol. Saat diaktifkan, konfigurasikan:
  • Overage Limit: Jumlah kredit maksimum yang dapat digunakan pelanggan melebihi saldo mereka
  • Price Per Unit: Biaya per kredit tambahan ketika overage diaktifkan (dengan pemilih mata uang)
string
wajib
Mengontrol cara menangani kelebihan di akhir siklus penagihan:
  • Forgive overage at reset (default): Penggunaan yang melebihi batas kredit dicatat tetapi tidak ditagihkan. Saldo direset pada setiap cycle.
  • Bill overage at billing: Penggunaan yang melebihi batas kredit ditagihkan pada invoice berikutnya, lalu saldo direset.
  • Carry over deficit: Penggunaan yang melebihi batas kredit diteruskan sebagai saldo negatif ke cycle berikutnya.
  • Carry over deficit (auto-repay): Defisit diteruskan dan secara otomatis dibayar dari kredit baru pada cycle berikutnya.
5

Create Credit

Klik Buat Kredit untuk menyimpan. Kredit sekarang tersedia untuk dilampirkan ke produk apa pun.
Hak kredit Anda siap. Lampirkan ke produk untuk mulai menerbitkan kredit kepada pelanggan.
Mulailah dengan pengaturan sederhana - tanpa guliran, tanpa kelebihan - dan tambahkan kerumitan saat Anda belajar cara pelanggan menggunakan kredit. Sebagian besar pengaturan dapat diperbarui kapan saja tanpa memengaruhi pemberian yang ada. Perhatikan bahwa presisi tidak dapat diubah setelah kredit dibuat.

Attaching Credits to Products

Kredit dilampirkan ke produk sebagai hak dalam alur pembuatan atau pengeditan produk. Anda dapat melampirkan hingga 5 kredit per produk. Kredit berfungsi dengan ketiga jenis penetapan harga.

Subscription Products

For subscriptions, credits are issued per billing cycle and can be configured with proration, trial credits, and cycle-specific settings.
1

Create or Edit a Subscription Product

Go to Products → Create Product or edit an existing product. Select Subscription as the pricing type and configure your recurring price.
2

Open Entitlements Section

Expand the Entitlements section and click the Attach button next to Credits.
Bagian hak produk menampilkan tombol lampirkan Kredit

The Entitlements section in the product form with Credits, License Key, and Digital Product Delivery options.

3

Select Credits to Attach

An Add Credits panel opens. You can select an existing credit from the dropdown or click Create new credit to define one on the spot.
Panel Tambah Kredit dengan dropdown pemilihan kredit

The Add Credits panel lets you select existing credits or create new ones.

Anda dapat melampirkan hingga 5 kredit per produk. Setiap kredit dapat memiliki konfigurasinya sendiri.
4

Configure Credit Settings

For each attached credit, configure:
number
wajib
The number of credits granted to the customer each billing period.
number
Kirim notifikasi ketika saldo turun di bawah persentase ini (0–100). Berguna untuk memberi tahu pelanggan sebelum saldo mereka habis.
number
Set a different credit amount for trial periods. Enable Expire trial credits after trial ends to revoke unused trial credits when the trial converts to a paid subscription.
boolean
Prorate remaining credits when a customer upgrades or downgrades their subscription plan.
boolean
Use the default rollover, overage, and expiry settings from the credit entitlement. Turn this off to customize settings specifically for this product.
Formulir konfigurasi kredit dengan siklus penagihan, uji coba, dan pengaturan proration

Credit configuration showing per-cycle amount, trial credits, proration, and custom settings.

5

Review and Add

Review the attached credit showing name, amount, and expiration. Click Add to Subscription to confirm.
Panel Tambah Kredit menampilkan kredit yang dipilih dengan detail

Review attached credits before adding them to the subscription.

One-Time Payment Products

For one-time payments, credits are issued once at the time of purchase.
1

Create a One-Time Product

Create a product with Single Payment pricing type.
Bagian harga produk dengan Pembayaran Sekali pilih

Single Payment pricing selected for a one-time credit product.

2

Attach Credits

Open the Entitlements section and attach credits. Configure the number of credits issued (total one-time grant) on purchase.
One-time credit products are ideal for credit top-up packs, promotional bundles, or prepaid credit purchases.

Usage-Based Billing Products

For usage-based products, credits are linked to meters and automatically deducted based on real-time consumption events.
1

Create a Usage-Based Product

Select Usage Based Billing as the pricing type. Configure the base price and billing frequency.
Konfigurasi harga Berdasarkan Penggunaan

Usage Based Billing pricing type with meter configuration.

2

Add a Meter

Klik tombol + di bagian Select meter untuk menambahkan meter. Sebuah subscription dapat memiliki hingga 50 meters.
Panel Pilih Meter menampilkan ambang batas gratis dan toggle kredit

The Select Meter panel with meter configuration and credit toggle.

3

Enable Credit Billing on the Meter

Toggle Bill usage in Credits to attach a credit to the meter. Select the credit entitlement from the dropdown.
number
Berlaku hanya ketika meter menagih dalam bentuk uang. Ketika meter menagih dalam kredit, setiap unit dikurangi dari saldo kredit.
boolean
When enabled, meter usage deducts from the customer’s credit balance instead of charging per-unit.
number
wajib
The number of usage units required to deduct 1 credit. For example, if set to 1000, then 1,000 API calls consume 1 credit.
Konfigurasi meter dengan pemilihan kredit dan unit meter per kredit

Credit attached to a meter with per-unit conversion rate.

4

Configure Credit Issuance

Set the number of credits issued and optionally customize the credit settings for this product.
Konfigurasi kredit untuk produk UBB

Configure how many credits to issue and whether to use default settings.

5

Verify Attachment

Once configured, the meter shows the attached credit name, unit price, and free threshold.
Meter yang dikonfigurasi menampilkan detail lampiran kredit

Meter with credit attached showing price, threshold, and credit name.

Ketika kredit ditautkan ke meter, sistem secara otomatis mengurangi kredit berdasarkan usage events yang diterima. Background worker memproses event setiap menit, mengagregasikannya sesuai konfigurasi meter, lalu menerapkan pengurangan FIFO (first-in, first-out) dari grant pelanggan yang belum kedaluwarsa, dimulai dari grant yang kedaluwarsa paling awal.

Credit Settings

Rollover

Rollover lets unused credits carry forward to the next billing cycle instead of expiring. Example: A customer has 200 unused credits at cycle end. With 75% rollover, 150 credits carry forward and 50 are forfeited.

Overage

Overage controls what happens when a customer’s credit balance reaches zero mid-cycle. Overage Behavior options:
Dodo Payments tidak memblokir penggunaan ketika saldo mencapai nol. Jika Anda tidak ingin pelanggan terus menggunakan layanan tanpa kredit, periksa saldo di aplikasi Anda sebelum melayani request. Pilih perilaku overage yang sesuai dengan model billing Anda. Forgive at reset adalah opsi default dan paling sederhana.

Kedaluwarsa

Kredit yang kedaluwarsa membuat entri ledger credit_expired. Jika rollover diaktifkan, persentase rollover diterapkan sebelum kedaluwarsa, dan hanya sisanya yang kedaluwarsa.

Usage Billing dengan Kredit

Ketika kredit ditautkan ke usage meters, sistem membuat model billing berbasis konsumsi yang canggih. Pelanggan menerima alokasi kredit, dan usage events secara otomatis mengurangi saldo mereka.
Usage Billing dashboard showing events table with credits consumed

The Usage Billing dashboard shows meter events with units consumed, credits consumed, and customer details.

Cara Kerja Pengurangan Kredit Berbasis Meter

  1. Aplikasi Anda mengirim usage events: Setiap event mencakup customer ID, nama event, dan metadata
  2. Meter mengagregasikan event: Menggunakan agregasi Count, Sum, Max, atau Last
  3. Kredit dikurangi secara otomatis: Background worker memproses event setiap menit, mengonversi unit meter menjadi kredit menggunakan rate yang dikonfigurasi, lalu mengurangi saldo pelanggan dengan urutan FIFO (grant yang paling cepat kedaluwarsa terlebih dahulu)
  4. Overage dilacak: Jika saldo kredit mencapai nol dan overage diaktifkan, sistem melacak penggunaan overage untuk billing pada akhir cycle

Panel Meters

Dashboard Usage Billing menyertakan panel Meters yang mencantumkan semua meter yang ditentukan beserta jenis agregasinya:

Pengalaman Pelanggan

Checkout

Ketika pelanggan membeli produk dengan kredit terlampir, halaman checkout menampilkan kredit yang disertakan sebagai bagian dari penawaran produk.
Checkout page showing product with included API call credits

Checkout shows included credits with the product, making the value proposition clear.

Kredit muncul di bagian Includes di bawah deskripsi produk, yang menampilkan jumlah dan jenis kredit (misalnya, “$1000 API calls”).

Customer Portal

Pelanggan dapat melihat dan mengelola saldo kredit mereka di Customer Portal pada bagian Credits.
Customer Portal credits view with balance and transaction history

The Customer Portal shows available balance and full transaction history.

Portal menampilkan:
  • Available Balance: Saldo kredit saat ini yang ditampilkan secara jelas
  • Credit Tabs: Beralih di antara berbagai jenis kredit (misalnya, “OpenAI Credits” atau “Usage Tokens”)
  • Recent Transactions: Riwayat lengkap yang mencakup tanggal, ID transaksi, jenis, jumlah, dan saldo berjalan
Jenis transaksi yang ditampilkan kepada pelanggan meliputi:

Detail Subscription

Halaman detail subscription menampilkan credit entitlements bersama informasi plan lainnya.
Subscription details page showing entitlements and usage history

Subscription details show credit allocation, remaining balance, and renewal date.

Informasi utama yang ditampilkan:
  • Credit allocation per billing cycle (misalnya, “1000 credits each cycle”)
  • Remaining balance (misalnya, “7500 credits remaining”)
  • Renewal date untuk penerbitan kredit berikutnya
  • Tab Usage History dengan rincian tingkat meter yang menampilkan unit yang digunakan, threshold, harga per unit, dan total biaya

Detail Transaksi

Halaman transaksi pembayaran menyertakan bagian Entitlements yang menampilkan semua entitlement yang diberikan bersama pembayaran, termasuk kredit.
Transaction details page showing credit entitlements

Transaction details show credits alongside other entitlements like license keys and digital downloads.


Mengelola Kredit

Tampilan Dashboard

Daftar Credit Entitlements

Lihat semua credit entitlements Anda di Products → Credits. Tabel menampilkan nama kredit dan pengaturan kedaluwarsa, serta menyediakan tindakan cepat untuk mengedit atau mengarsipkan.
Credits listing page in the Products section

Credits listing with total count, creation button, and management actions.

Detail Kredit Pelanggan

Lihat saldo kredit dan riwayat transaksi pelanggan tertentu dari Customers → [Customer Name] → Credits.
Customer details page with Credits tab showing balance and transactions

Customer detail page showing credit balance and full transaction ledger.

Tampilan kredit pelanggan mencakup:
  • Credit Selector - Beralih di antara berbagai credit entitlements
  • Available Balance - Saldo saat ini dalam tampilan besar dan jelas
  • Apply Credit/Debit - Tombol untuk menyesuaikan saldo pelanggan secara manual
  • Recent Transactions - Ledger lengkap dengan tanggal, ID transaksi, jenis, jumlah, dan saldo berjalan

Penyesuaian Manual

Anda dapat menambahkan atau mengurangi saldo pelanggan secara manual langsung dari dashboard:
1

Navigate to Customer

Buka Customers dan pilih pelanggan.
2

Open Credits Tab

Klik tab Credits dan pilih credit entitlement yang sesuai dari wallet selector.
3

Apply Credit or Debit

Klik Apply Credit/Debit untuk membuka interface penyesuaian.
string
wajib
Pilih Credit untuk menambahkan kredit atau Debit untuk menghapus kredit dari saldo pelanggan.
number
wajib
Jumlah kredit yang akan ditambahkan atau dihapus.
string
Penjelasan opsional untuk penyesuaian (misalnya, “Service compensation” atau “Promotional bonus”).
4

Confirm

Tinjau dan terapkan penyesuaian. Perubahan langsung tercermin pada saldo pelanggan dan dicatat dalam credit ledger.
Penyesuaian manual membuat entri ledger manual_adjustment dengan audit trail lengkap.

Credit Ledger

Setiap operasi kredit dicatat dalam credit ledger, sehingga menyediakan audit trail lengkap: Setiap entri ledger mencatat saldo sebelum dan sesudah transaksi, overage sebelum dan sesudah, deskripsi, serta referensi ke sumber (payment, subscription, dan sebagainya).

Webhooks

Credit-Based Billing memicu webhook events untuk setiap perubahan dalam siklus hidup kredit. Gunakan event ini untuk menjaga sinkronisasi aplikasi dengan saldo kredit, memicu notifikasi, atau membuat billing workflows khusus. Semua ledger events (setiap event credit.* kecuali credit.balance_low) menyertakan payload CreditLedgerEntry lengkap dengan saldo sebelum/sesudah, overage sebelum/sesudah, referensi sumber, dan metadata dari subscription atau payment sumber grant (kosong untuk grant yang dibuat langsung melalui API). Event credit.balance_low menyertakan konfigurasi threshold dan saldo saat ini.

Credit Webhook Payloads

Lihat skema payload lengkap, deskripsi field, dan contoh integrasi untuk semua credit webhook events.

Manajemen API

Gunakan API untuk membuat credit entitlements secara programatis dengan kontrol penuh atas pengaturan rollover, overage, dan kedaluwarsa.

Create Credit Entitlement

Buat credit entitlement baru dengan konfigurasi rollover, overage, dan kedaluwarsa.

List Credit Entitlements

Ambil semua credit entitlements untuk bisnis Anda.
Ambil, perbarui, atau hapus credit entitlements. Entitlement yang dihapus dapat dipulihkan.

Get Credit Entitlement

Ambil credit entitlement tertentu berdasarkan ID.

Update Credit Entitlement

Perbarui rollover, overage, kedaluwarsa, atau pengaturan lainnya.

Delete Credit Entitlement

Lakukan soft-delete pada credit entitlement.

Undelete Credit Entitlement

Pulihkan credit entitlement yang sebelumnya dihapus.
Berikan kredit langsung ke saldo pelanggan tanpa memerlukan pembelian, atau buat entri debit manual untuk penyesuaian billing.

Create Ledger Entry

Kredit atau debit saldo pelanggan dengan audit trail lengkap dan dukungan idempotency.
Ambil saldo kredit pelanggan saat ini, riwayat grant, dan ledger transaksi lengkap untuk credit entitlement apa pun.

List Balances

Tampilkan semua saldo pelanggan untuk credit entitlement.

Get Customer Balance

Dapatkan saldo pelanggan tertentu.

List Customer Grants

Lihat semua credit grants untuk pelanggan.

List Customer Ledger

Riwayat transaksi lengkap untuk pelanggan.

Contoh Integrasi

Inisialisasi client Dodo Payments:
Lampirkan kredit ke produk subscription selama checkout:
Kirim usage events yang secara otomatis mengurangi kredit:

Contoh Dunia Nyata

Struktur Harga:Konfigurasi:
  • Credit Type: Custom Unit (“AI Tokens”)
  • Precision: 0 (token utuh)
  • Rollover: maksimum 25%, timeframe 1 bulan
  • Overage: Diaktifkan, bill overage at billing
  • Meter: ai.generation dengan agregasi Sum pada field tokens
Struktur Harga:Konfigurasi:
  • Credit Type: Custom Unit (“API Calls”)
  • Precision: 0 (panggilan utuh)
  • Rollover: Dinonaktifkan
  • Overage: Plan Developer+ mengizinkan overage (forgive at reset), plan Free menonaktifkan overage
  • Meter: api.request dengan agregasi Count
Struktur Harga:Konfigurasi:
  • Jenis Kredit: Unit Kustom (“GB-hours”)
  • Presisi: 2 (dua angka desimal)
  • Rollover: maksimal 50%, dibawa ke periode berikutnya satu kali
  • Overage: Diaktifkan, dengan batas overage yang ditetapkan dalam GB-hours
  • Meter: storage.usage dengan agregasi Sum

Praktik Terbaik

  • Mulai dengan sederhana: Mulai dengan satu jenis kredit tanpa rollover. Tambahkan kompleksitas berdasarkan feedback pelanggan dan pola penggunaan.
  • Tetapkan ekspektasi yang jelas: Tampilkan alokasi kredit, saldo tersisa, dan harga overage secara jelas di halaman produk dan Customer Portal.
  • Gunakan unit yang bermakna: Beri nama kredit berdasarkan hal yang direpresentasikannya (misalnya, “API Calls” atau “AI Tokens”), bukan istilah umum. Ini membantu pelanggan memahami nilainya.
  • Konfigurasikan kedaluwarsa dengan bijak: Jendela kedaluwarsa singkat (7 hari) mendorong urgensi tetapi dapat membuat pelanggan frustrasi. Jendela yang lebih panjang (30–90 hari) lebih ramah pelanggan untuk sebagian besar produk SaaS.
  • Pantau saldo rendah: Tetapkan threshold saldo rendah untuk memberi tahu pelanggan sebelum kredit mereka habis, sehingga mengurangi biaya overage yang tidak terduga.
  • Uji dalam test mode: Buat kredit, lampirkan ke produk pengujian, dan simulasikan seluruh siklus pembelian → penggunaan → pengurangan → kedaluwarsa sebelum meluncurkannya.
Credit-Based Billing berfungsi dengan semua fitur Dodo Payments lainnya: subscription dengan trial, perubahan plan dengan proration, dan Customer Portal. Mulailah dengan setup dasar dan kembangkan seiring evolusi model harga Anda.
Terakhir diubah pada 26 September 2026