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 ideal 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

Konsep Inti
Jenis Kredit
Saat membuat kredit, Anda memilih antara dua jenis:- Custom Unit
- Fiat Credits
Siklus Hidup Kredit
Kredit mengikuti siklus hidup yang jelas dari penerbitan hingga konsumsi:Credits Issued
Credits Consumed
Credits Expire or Roll Over
Sumber Pemberian
Kredit dapat diberikan dari beberapa sumber:| Sumber | Deskripsi |
|---|---|
| Langganan | Kredit diterbitkan dengan pembelian langganan, diterbitkan kembali setiap siklus penagihan |
| Satu Kali | Kredit diterbitkan dengan produk pembayaran satu kali |
| API | Kredit diberikan secara manual melalui API atau dasbor |
| Gulirkan | Kredit dibawa ke siklus penagihan sebelumnya |
Membuat Kredit
Buat hak kredit di bagian Produk → Kredit dari dasbor Anda. Setiap kredit mendefinisikan unit, presisi, aturan kedaluwarsa, dan perilaku siklus hidup.
Navigate to Credits
Configure Basic Information

Set General Settings
- Unit Kustom - Tentukan metrik Anda sendiri (token, panggilan API, jam komputasi). Memerlukan pengaturan Nama Unit (mis., “Platform tokens”) dan Presisi.
- Kredit Fiat - Kredit mewakili nilai mata uang sebenarnya. Memerlukan pilihan Mata Uang Unit (USD, EUR, GBP, INR, dll.).
0- Bilangan bulat (terbaik untuk item yang dapat dihitung seperti panggilan API)1- Satu desimal (0.0)2- Dua desimal (0.00) - default3- Tiga desimal (0.000)
- 7 hari, 30 hari (default), 60 hari, 90 hari, Kustom, atau Tidak Pernah
Configure Subscription Settings (Optional)
- Persentase Maks Gulirkan (0–100%) - Batasi berapa banyak yang dibawa ke depan
- Jangka Waktu Gulirkan - Berapa lama kredit yang digulirkan tetap valid (mis., 1 Bulan)
- Jumlah Maks Gulirkan - Maksimum guliran berkelanjutan sebelum kredit hangus
- Batas Kelebihan - Maksimum kredit yang dapat digunakan pelanggan di luar saldo mereka
- Harga Per Unit - Biaya per kredit tambahan saat kelebihan diaktifkan (dengan pilihan mata uang)
- Maaf atas kelebihan saat reset (default) - Penggunaan yang melebihi batas kredit dicatat tetapi tidak ditagih. Saldo direset setiap siklus.
- Tagih kelebihan saat penagihan - Penggunaan yang melebihi batas kredit dikenakan pada faktur berikutnya, kemudian saldo direset.
- Bawa defisit ke depan - Penggunaan di luar batas kredit dibawa ke depan sebagai saldo negatif ke siklus berikutnya.
- Bawa defisit ke depan (pembayaran otomatis) - Defisit dibawa ke depan dan dibayar otomatis dari kredit baru di siklus berikutnya.
Attaching Credits to Products
Credits are attached to products as entitlements in the product creation or editing flow. You can attach up to 3 credits per product. Credits work with all three pricing types.Subscription Products
For subscriptions, credits are issued per billing cycle and can be configured with proration, trial credits, and cycle-specific settings.Create or Edit a Subscription Product
Open Entitlements Section

Select Credits to Attach

Configure Credit Settings

One-Time Payment Products
For one-time payments, credits are issued once at the time of purchase.Usage-Based Billing Products
For usage-based products, credits are linked to meters and automatically deducted based on real-time consumption events.Create a Usage-Based Product

Add a Meter

Enable Credit Billing on the Meter
1000, then 1,000 API calls consume 1 credit.
Configure Credit Issuance

Credit Settings
Rollover
Rollover lets unused credits carry forward to the next billing cycle instead of expiring.| Setting | Description |
|---|---|
| Rollover Enabled | Toggle to allow unused credits to carry forward |
| Max Rollover Percentage | Limit how much carries over (0–100%). At 50%, only half of unused credits roll over |
| Rollover Timeframe | How long rolled-over credits remain valid (day, week, month, year) |
| Max Rollover Count | Maximum number of times credits can be consecutively rolled over. After this limit, remaining credits are forfeited |
Overage
Overage controls what happens when a customer’s credit balance reaches zero mid-cycle.| Setting | Description |
|---|---|
| Allow Overage | Toggle to let customers continue using the service beyond their credit balance |
| Overage Limit | Maximum credits customers can consume beyond their balance |
| Price Per Unit | Cost per additional credit consumed as overage (with currency) |
| Overage Behavior | Controls what happens to overage at the end of the billing cycle (see below) |
| Behavior | Description |
|---|---|
| Forgive overage at reset | Usage beyond the credit limit is tracked but not billed. Balance resets each cycle |
| Bill overage at billing | Usage beyond the credit limit is charged on the next invoice, then the balance resets |
| Carry over deficit | Overage carries forward as a negative balance into the next cycle |
| Carry over deficit (auto-repay) | Deficit carries forward and is automatically repaid from new credits in the next cycle |
Expiration
| Setting | Description |
|---|---|
| Credit Expiry | Duration after issuance before credits expire (7, 30, 60, 90, custom days, or never) |
| Trial Credits Expire After Trial | Whether trial-specific credits expire when the trial period ends |
CreditExpired ledger entry. If rollover is enabled, the rollover percentage is applied before expiration, and only the remainder expires.Usage Billing with Credits
When credits are linked to usage meters, the system creates a powerful consumption-based billing model. Customers receive a credit allocation, and usage events automatically deduct from their balance.
How Meter-Based Credit Deduction Works
- Your application sends usage events - Each event includes a customer ID, event name, and metadata
- Meters aggregate events - Using Count, Sum, Max, Last, or Unique Count aggregation
- Credits are deducted automatically - A background worker processes events every minute, converts meter units to credits using your configured rate, and deducts from the customer’s balance using FIFO ordering (oldest grants first)
- Overage is tracked - If the credit balance reaches zero and overage is enabled, the system tracks overage usage for end-of-cycle billing
Meters Panel
The Usage Billing dashboard includes a Meters panel listing all defined meters with their aggregation type:| Aggregation | Description | Example |
|---|---|---|
| Count | Total number of events | API calls |
| Sum | Sum of a value field | Total bytes transferred |
| Max | Highest value recorded | Peak concurrent users |
| Last | Most recent value | Current storage used |
| Unique Count | Count of distinct values | Unique active users |
Customer Experience
Checkout
When a customer purchases a product with attached credits, the checkout page displays the included credits as part of the product offering.
Customer Portal
Customers can view and manage their credit balances in the Customer Portal under the Credits section.
- Available Balance - Current credit balance displayed prominently
- Credit Tabs - Switch between different credit types (e.g., “OpenAI Credits”, “Usage Tokens”)
- Recent Transactions - Full history with date, transaction ID, type, amount, and running balance
| Type | Description | Amount |
|---|---|---|
| Credits with Subscription | Credits issued with subscription purchase/renewal | Green (+) |
| One-Time Credits | Credits from one-time purchases or manual grants | Green (+) |
| Usage Deduction | Credits consumed through service usage | Red (-) |
| Overage | Usage beyond credit balance | Red (-) |
Subscription Details
The subscription detail page shows credit entitlements alongside other plan information.
- Credit allocation per billing cycle (e.g., “1000 credits each cycle”)
- Remaining balance (e.g., “7500 credits remaining”)
- Renewal date for next credit issuance
- Usage History tab with meter-level breakdown showing units consumed, thresholds, unit prices, and total costs
Transaction Details
Payment transaction pages include an Entitlements section showing all entitlements delivered with the payment, including credits.
Managing Credits
Dashboard Views
Credit Entitlements List
View all your credit entitlements in Products → Credits. The table shows credit name, expiry settings, and provides quick actions for editing or archiving.
Customer Credit Details
View a specific customer’s credit balances and transaction history from Customers → [Customer Name] → Credits.
- Credit Selector - Switch between different credit entitlements
- Available Balance - Current balance in large, prominent display
- Apply Credit/Debit - Button to manually adjust the customer’s balance
- Recent Transactions - Full ledger with date, transaction ID, type, amount, and running balance
Manual Adjustments
You can manually credit or debit a customer’s balance directly from the dashboard:Open Credits Tab
Apply Credit or Debit
Credit Ledger
Every credit operation is recorded in the credit ledger, providing a complete audit trail:| Transaction Type | Description |
|---|---|
| Credit Added | Credits granted (subscription, one-time, or API) |
| Credit Deducted | Credits consumed through usage or manual debit |
| Credit Expired | Credits expired without rollover |
| Credit Rolled Over | Credits carried forward to the next period |
| Rollover Forfeited | Rolled credits forfeited after max rollover count reached |
| Overage Charged | Usage beyond credit balance with overage enabled |
| Auto Top-Up | Automatic credit replenishment at low balance |
| Manual Adjustment | Credit or debit applied manually by merchant |
| Refund | Credits refunded |
Webhooks
Credit-Based Billing fires webhook events for every credit lifecycle change. Use these to keep your application in sync with credit balances, trigger notifications, or build custom billing workflows.| Event | Description |
|---|---|
credit.added | Credits granted to a customer |
credit.deducted | Credits consumed through usage or manual debit |
credit.expired | Unused credits expired |
credit.rolled_over | Credits carried forward to a new grant |
credit.rollover_forfeited | Credits forfeited at max rollover count |
credit.overage_charged | Overage charges applied |
credit.manual_adjustment | Manual credit/debit adjustment made |
credit.balance_low | Balance dropped below configured threshold |
credit.added through credit.manual_adjustment) include the full CreditLedgerEntry payload with balance before/after, overage before/after, and source reference. The credit.balance_low event includes the threshold configuration and current balance.
Credit Webhook Payloads
API Management
Create Credit Entitlements
Create Credit Entitlements
Create Credit Entitlement
List Credit Entitlements
Manage Credit Entitlements
Manage Credit Entitlements
Get Credit Entitlement
Update Credit Entitlement
Delete Credit Entitlement
Undelete Credit Entitlement
Grant and Adjust Credits
Grant and Adjust Credits
Create Ledger Entry
Query Balances and Ledger
Query Balances and Ledger
List Balances
Get Customer Balance
List Customer Grants
List Customer Ledger
Integration Example
Inisialisasi klien Dodo Payments:Contoh Dunia Nyata
AI SaaS Platform
AI SaaS Platform
| Plan | Price | Credits/Month | Overage |
|---|---|---|---|
| Starter | $29/mo | 10,000 tokens | $0.003/token |
| Pro | $99/mo | 100,000 tokens | $0.002/token |
| Enterprise | $499/mo | 1,000,000 tokens | $0.001/token |
- Jenis Kredit: Unit Khusus (“AI Tokens”)
- Presisi: 0 (token utuh)
- Rollover: Maks 25%, jangka waktu 1 bulan
- Overage: Diaktifkan, tagih overage saat penagihan
- Meter:
ai.generationdengan agregasi Sum pada bidangtokens
API Gateway
API Gateway
| Plan | Price | Credits/Month | Overage |
|---|---|---|---|
| Free | $0/mo | 1,000 calls | Blocked |
| Developer | $19/mo | 50,000 calls | $0.001/call |
| Business | $99/mo | 500,000 calls | $0.0005/call |
- Jenis Kredit: Unit Khusus (“API Calls”)
- Presisi: 0 (panggilan utuh)
- Rollover: Dinonaktifkan
- Overage: Paket Developer+ mengizinkan overage (diampuni saat reset), paket Free menonaktifkan overage
- Meter:
api.requestdengan agregasi Count
Cloud Storage Service
Cloud Storage Service
| Plan | Price | Credits/Month | Overage |
|---|---|---|---|
| Personal | $9/mo | 100 GB-hours | $0.05/GB-hour |
| Team | $49/mo | 1,000 GB-hours | $0.03/GB-hour |
- Jenis Kredit: Unit Khusus (“GB-hours”)
- Presisi: 2 (dua tempat desimal)
- Rollover: Maks 50%, digulirkan sekali
- Overage: Diaktifkan dengan batas 200%
- Meter:
storage.usagedengan agregasi Sum
Praktik Terbaik
- Mulailah dengan sederhana: Mulailah dengan satu jenis kredit dan tanpa rollover. Tambahkan kompleksitas berdasarkan umpan balik pelanggan dan pola penggunaan.
- Tetapkan ekspektasi yang jelas: Tampilkan alokasi kredit, sisa saldo, dan harga kelebihan dengan jelas di halaman produk dan portal pelanggan Anda.
- Gunakan satuan yang bermakna: Namai kredit sesuai dengan apa yang mereka wakili (misalnya, “API Calls”, “AI Tokens”) daripada istilah umum. Ini membantu pelanggan memahami nilai.
- Konfigurasikan kedaluwarsa dengan hati-hati: Jendela kedaluwarsa pendek (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 ambang batas saldo rendah untuk memperingatkan pelanggan sebelum kehabisan, mengurangi kejutan biaya kelebihan.
- Uji dalam mode uji: Buat kredit, lampirkan ke produk uji, dan simulasi siklus pembelian → penggunaan → pengurangan → kedaluwarsa sepenuhnya sebelum ditayangkan.


