Hybride Abrechnung kombiniert zwei oder mehr Abrechnungsmodelle zu einer einzigen Preisstrategie. Dies ermöglicht es Ihnen, Wert aus verschiedenen Dimensionen zu erfassen – wiederkehrende Gebühren, Nutzung, Sitze und Funktionen – während Sie den Kunden Flexibilität und Vorhersehbarkeit bieten.
Was ist hybride Abrechnung?
Hybride Abrechnung kombiniert mehrere Preisdimensionen in einem einzigen Produktangebot. Anstatt zwischen Pauschalabonnements ODER nutzungsbasierten Preisen zu wählen, verwenden Sie beide zusammen.
Warum hybride Abrechnung verwenden?
Geschäftsziel Hybride Lösung Vorhersehbare Einnahmen + Wachstumspotenzial Basisabonnement + Nutzung überlasten Teampreisgestaltung, die skalierbar ist Pro-Sitz + Funktions-Add-Ons Kunden gewinnen, später erweitern Niedrige Grundgebühr + Verbrauchsgebühren Unternehmensflexibilität Verpflichtete Ausgaben + bedarfsabhängige Gebühren Faire Preisgestaltung für variable Nutzung Eingeschlossene Zulage + nutzungsabhängig
Häufige hybride Muster
Modell Beschreibung Beispiel Native Unterstützung 1. Abonnement + Nutzung Basisgebühr + Verbrauchsgebühren $49/Monat + $0.01/API-Aufruf nach 10K kostenlos ✅ Voll 2. Abonnement + Sitze Plattformgebühr + pro Benutzer Gebühren $99/Monat + $15/Sitz ✅ Voll 3. Abonnement + Funktions-Add-Ons Kernplan + optionale Upgrades $29/Monat + $19/Monat Analytik + $9/Monat API-Zugriff ✅ Voll 4. Sitze + Nutzung Pro Benutzer Gebühr + Verbrauchsüberlastung $10/Benutzer/Monat + $0.05/GB nach 5GB/Benutzer ⚠️ Workaround 5. Abonnement + Sitze + Nutzung Plattform + Benutzer + Verbrauch (dreifache Hybrid) $199/Monat + $20/Sitz + Nutzung überlasten ⚠️ Workaround 6. Gestufte Basis + Nutzung überlasten Verschiedene Stufen mit unterschiedlichen Zulagen Starter (5K Aufrufe) vs Pro (50K Aufrufe) + Überlastung ✅ Voll 7. Abonnement + bedarfsabhängige Gebühren Wiederkehrende Gebühr + variable manuelle Gebühren $99/Monat Retainer + stündliche Abrechnung für Arbeit ✅ Voll
Hybrides Modell 1: Abonnement + Nutzung
Das häufigste hybride Modell. Kunden zahlen eine Basisabonnementgebühr plus Gebühren für den Verbrauch, der die enthaltenen Zulagen übersteigt.
So funktioniert es
Pro-Plan: 49 USD/Monat
Inklusive : 10.000 API-Aufrufe/Monat
Überlastung : 0,005 USD pro Aufruf nach 10.000
Beispielrechnung (Kunde verwendet in diesem Monat 25.000 Aufrufe):
Basisabonnement: 49,00 USD
Überlastung: (25.000 - 10.000) × 0,005 USD = 75,00 USD
Gesamt: 124,00 USD
Anwendungsfälle
API-Plattformen : Basiszugang + Gebühren pro Anfrage
AI/ML-Dienste : Abonnement + Token/Generierungsnutzung
Speicherdienste : Basisplan + Gebühren pro GB Überlastung
Kommunikationsplattformen : Basis + Gebühren pro Nachricht/Minute
Implementierung
Nutzungsmesser erstellen
Richten Sie einen Zähler ein, um die abrechenbare Nutzung zu verfolgen. Dashboard: Meters → Create Meter
Event Name: "api.call"
Aggregation: Count
This tracks API calls per customer
Abonnementprodukt mit Nutzungspreis erstellen
Erstellen Sie ein Abonnementprodukt und fügen Sie den Nutzungsmesser mit Preisgestaltung hinzu. Dashboard: Create Product → Subscription
Name: "Pro Plan"
Base Price: $49 /month
Then attach usage pricing:
- Meter: api.call
- Price per unit: $0 .005
- Free threshold: 10,000 (included in subscription )
Der Nutzungsmesser ist direkt mit dem Abonnementprodukt verbunden. Nutzungskosten werden automatisch berechnet und zur Abonnementrechnung hinzugefügt.
Checkout-Sitzung erstellen
Erstellen Sie eine Checkout-Sitzung mit Ihrem Abonnementprodukt. const session = await client . checkoutSessions . create ({
product_cart: [
{ product_id: 'prod_pro_plan' , quantity: 1 }
],
customer: { email: '[email protected] ' },
return_url: 'https://yourapp.com/success'
});
Nutzungsereignisse senden
Verfolgen Sie die Nutzung während des Abrechnungszeitraums. await fetch ( 'https://api.dodopayments.com/events/ingest' , {
method: 'POST' ,
headers: {
'Authorization' : `Bearer ${ apiKey } ` ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
events: [{
event_id: `call_ ${ Date . now () } ` ,
customer_id: 'cus_123' ,
event_name: 'api.call' ,
timestamp: new Date (). toISOString (),
metadata: { endpoint: '/v1/generate' }
}]
})
});
Preisvariationen
Der kostenlose Schwellenwert deckt die Nutzung ab, die im Basisabonnement enthalten ist. Pro-Plan: 49 USD/Monat
Enthält: 10.000 API-Aufrufe
Überlastung: 0,005 USD/Aufruf nach 10.000
Kunde verwendet 8.000 → Zahlt 49 USD (keine Überlastung)
Keine Grundgebühr, jede Einheit ist ab der ersten Nutzung abrechenbar. Pay-As-You-Go: 0 USD/Monat Basis
Enthält: 0 API-Aufrufe
Nutzung: 0,01 USD/Aufruf ab dem ersten Aufruf
Kunde verwendet 5.000 → Zahlt 50 USD
Verschiedene Stufen enthalten unterschiedliche Zulagen.
Starter : 19 USD/Monat (1.000 Aufrufe enthalten)
Pro : 49 USD/Monat (10.000 Aufrufe enthalten)
Enterprise : 199 USD/Monat (100.000 Aufrufe enthalten)
Alle Stufen: 0,005 USD/Aufruf Überlastung
Hybrides Modell 2: Abonnement + Sitze
Plattformgebühr plus Gebühren pro Benutzer. Ideal für Team-Kollaborationstools und B2B SaaS.
So funktioniert es
Team-Plan: 99 USD/Monat + 15 USD/Sitz
Basisplattformgebühr : 99 USD/Monat (beinhaltet 3 Sitze)
Zusätzliche Sitze : 15 USD/Sitz/Monat
Beispielrechnung (Team von 12 Benutzern):
Plattformgebühr: 99,00 USD
Zusätzliche Sitze: (12 - 3) × 15 USD = 135,00 USD
Gesamt: 234,00 USD/Monat
Anwendungsfälle
Kollaborationstools : Arbeitsplatzgebühr + pro Mitglied
CRM-Systeme : Plattformlizenz + pro Vertriebsmitarbeiter
Projektmanagement : Teamplan + pro Mitwirkendem
Entwicklertools : Organisationsgebühr + pro Entwickler
Implementierung
Sitz-Add-On erstellen
Erstellen Sie ein Add-On für zusätzliche Sitze. Dashboard: Products → Add-ons → Create Add-on
Name: "Additional Seat"
Price: $15 /month
Description: "Add another team member"
Basisabonnement erstellen
Erstellen Sie das Abonnementprodukt mit Plattformgebühr und fügen Sie das Add-On hinzu. Dashboard: Create Product → Subscription
Name: "Team Plan"
Price: $99 /month
Description: "Includes 3 team members"
Then in Add-ons section:
- Attach: "Additional Seat" add-on
Checkout mit Sitzen erstellen
Geben Sie die Sitzanzahl während des Checkouts an. const session = await client . checkoutSessions . create ({
product_cart: [{
product_id: 'prod_team_plan' ,
quantity: 1 ,
addons: [{
addon_id: 'addon_seat' ,
quantity: 9 // 9 extra seats (12 total with 3 included)
}]
}],
customer: { email: '[email protected] ' },
return_url: 'https://yourapp.com/success'
});
Sitze nach Bedarf anpassen
Fügen Sie Sitze zu bestehenden Abonnements hinzu oder entfernen Sie sie. // Add 5 more seats
await client . subscriptions . changePlan ( 'sub_123' , {
product_id: 'prod_team_plan' ,
quantity: 1 ,
proration_billing_mode: 'prorated_immediately' ,
addons: [{
addon_id: 'addon_seat' ,
quantity: 14 // New total: 14 extra seats
}]
});
Preisvariationen
Eingeschlossene Sitze
Reine pro Sitz
Gestufte pro Sitz
Basisplan enthält einige Sitze, Gebühren für zusätzliche Sitze. Team-Plan: 99 USD/Monat
Enthält: 5 Sitze
Zusätzliche Sitze: 15 USD/Sitz/Monat
20 Benutzer = 99 USD + (15 × 15 USD) = 324 USD/Monat
Keine Plattformgebühr, nur Gebühren pro Benutzer. Pro Benutzer: 25 USD/Benutzer/Monat
Keine Plattformgebühr
5 Benutzer = 125 USD/Monat
50 Benutzer = 1.250 USD/Monat
Implementierung: Setzen Sie den Basisabonnementpreis auf 0 USD, verwenden Sie nur das Sitz-Add-On. Der Preis pro Sitz sinkt in höheren Stufen.
Starter : 20 USD/Sitz (1-10 Sitze)
Wachstum : 15 USD/Sitz (11-50 Sitze)
Enterprise : 10 USD/Sitz (51+ Sitze)
Implementierung: Erstellen Sie separate Abonnementprodukte für jede Stufe mit unterschiedlichen Add-On-Preisen.
Hybrides Modell 3: Abonnement + Funktions-Add-Ons
Kernabonnement mit optionalen Funktions-Upgrades, die Kunden hinzufügen können.
So funktioniert es
Kernplan: 29 USD/Monat
Optionale Add-Ons:
Erweiterte Analytik: +19 USD/Monat
API-Zugriff: +9 USD/Monat
Prioritätsunterstützung: +29 USD/Monat
White-Label: +49 USD/Monat
Beispielrechnung (Kunde wählt Kern + Analytik + API-Zugriff):
Kernplan: 29,00 USD
Analytik: 19,00 USD
API-Zugriff: 9,00 USD
Gesamt: 57,00 USD/Monat
Anwendungsfälle
SaaS-Plattformen : Kernfunktionen + Premium-Module
Marketing-Tools : Basistool + Integrationen
Analytikprodukte : Dashboard + erweiterte Berichte
Sicherheitssoftware : Grundschutz + erweiterte Funktionen
Implementierung
Funktions-Add-Ons erstellen
Erstellen Sie ein Add-On für jede optionale Funktion. # Add-on 1: Advanced Analytics
Dashboard: Products → Add-ons → Create Add-on
Name: "Advanced Analytics"
Price: $19 /month
# Add-on 2: API Access
Name: "API Access"
Price: $9 /month
# Add-on 3: Priority Support
Name: "Priority Support"
Price: $29 /month
# Add-on 4: White-label
Name: "White-label"
Price: $49 /month
Kernabonnement erstellen
Definieren Sie Ihr Basisabonnement und fügen Sie alle Funktions-Add-Ons hinzu. Dashboard: Create Product → Subscription
Name: "Core Plan"
Price: $29 /month
Then in Add-ons section:
- Attach all feature add-ons
Lassen Sie Kunden wählen
Checkout mit ausgewählten Funktionen. const session = await client . checkoutSessions . create ({
product_cart: [{
product_id: 'prod_core_plan' ,
quantity: 1 ,
addons: [
{ addon_id: 'addon_analytics' , quantity: 1 },
{ addon_id: 'addon_api_access' , quantity: 1 }
// Customer didn't select support or white-label
]
}],
return_url: 'https://yourapp.com/success'
});
Funktionen später hinzufügen
Kunden können Funktionen zu bestehenden Abonnements hinzufügen. // Customer wants to add Priority Support
await client . subscriptions . changePlan ( 'sub_123' , {
product_id: 'prod_core_plan' ,
quantity: 1 ,
proration_billing_mode: 'prorated_immediately' ,
addons: [
{ addon_id: 'addon_analytics' , quantity: 1 },
{ addon_id: 'addon_api_access' , quantity: 1 },
{ addon_id: 'addon_priority_support' , quantity: 1 } // New!
]
});
Hybrides Modell 4: Sitze + Nutzung
Pro Benutzer Gebühr kombiniert mit verbrauchsabhängigen Gebühren. Jeder Benutzer erhält eine Zulage.
Einschränkung : Dodo Payments unterstützt derzeit nicht das Anfügen von sowohl Nutzungsmessern als auch Add-Ons an dasselbe Abonnementprodukt. Dieses Modell erfordert einen Workaround mit Anwendungsebene-Logik.
Bald verfügbar : Native Unterstützung für hybride Abrechnung von Sitzen + Nutzung steht auf unserer Roadmap. Dies wird es Ihnen ermöglichen, sowohl Nutzungsmesser als auch Sitz-Add-Ons an dasselbe Abonnementprodukt anzuhängen.
So funktioniert es
Team-Analytik: 20 USD/Benutzer/Monat
Jeder Benutzer umfasst:
5 GB Datenverarbeitung/Monat
Überlastung: 2 USD/GB nach Zulage
Beispielrechnung (10-Benutzer-Team, das insgesamt 80 GB verwendet):
Sitzgebühren: 10 × 20 USD = 200,00 USD
Eingeschlossene Daten: 10 × 5 GB = 50 GB
Überlastung: (80 - 50) × 2 USD = 60,00 USD
Gesamt: 260,00 USD/Monat
Anwendungsfälle
Analytikplattformen : Pro Analyst + Datenverarbeitung
Design-Tools : Pro Designer + Speicherung/Exporte
Entwicklungsumgebungen : Pro Entwickler + Rechenstunden
Kommunikationstools : Pro Benutzer + Nachrichten-/Anrufvolumen
Implementierungsoptionen
Da Sie sowohl Nutzungsmesser als auch Add-Ons nicht an dasselbe Abonnement anhängen können, wählen Sie einen dieser Ansätze:
Verwenden Sie ein nutzungsbasiertes Abonnement und verwalten Sie die Sitzabrechnung in Ihrer Anwendung.
Nutzungsmesser erstellen
Dashboard: Meters → Create Meter
Event Name: "data.processed"
Aggregation: Sum
Property: "bytes"
Nutzungsbasiertes Abonnement erstellen
Dashboard: Create Product → Subscription
Name: "Team Analytics"
Base Price: $0 /month
Attach usage pricing:
- Meter: data.processed
- Price per unit: $2 /GB
- Free threshold: 0 (managed by your app )
Sitze in Ihrer Anwendung verwalten
Verfolgen Sie die Sitzanzahl und berechnen Sie die Sitzgebühren separat. // Your application tracks seats and calculates total cost
async function calculateMonthlyBill ( customerId : string ) {
const seatCount = await getSeatCount ( customerId );
const seatFee = seatCount * 20 ; // $20/seat
// Usage is billed by Dodo automatically
// You invoice/charge seat fees separately or include in base price
// Alternatively, adjust base subscription price when seats change
const totalBasePrice = seatCount * 2000 ; // $20/seat in cents
await client . subscriptions . update ( 'sub_123' , {
// Update subscription to reflect seat-based pricing
});
}
Dynamische Freigrenze berechnen
Passen Sie die enthaltene Nutzung basierend auf der Sitzanzahl an. // When checking usage, apply per-seat allowance
async function checkUsageOverage ( customerId : string ) {
const seatCount = await getSeatCount ( customerId );
const includedGB = seatCount * 5 ; // 5 GB per user
const currentUsage = await getUsageFromDodo ( customerId );
const overage = Math . max ( 0 , currentUsage - includedGB );
// Overage is billed by Dodo at $2/GB
return { included: includedGB , used: currentUsage , overage };
}
Verwenden Sie Add-Ons für Sitze und berechnen Sie die Nutzung manuell über bedarfsabhängige Gebühren.
Sitz-Add-On erstellen
Dashboard: Products → Add-ons → Create Add-on
Name: "Team Member"
Price: $20 /month
Abonnement mit Add-On erstellen
Dashboard: Create Product → Subscription
Name: "Team Analytics"
Base Price: $0 /month
Attach add-on:
- "Team Member" add-on
Enable on-demand charging
Nutzung in Ihrer Anwendung verfolgen
// Track usage events in your system
async function trackDataProcessed ( customerId : string , bytes : number ) {
await saveUsageEvent ({
customer_id: customerId ,
event_type: 'data.processed' ,
bytes: bytes ,
timestamp: new Date ()
});
}
Nutzung am Ende des Zyklus berechnen
Berechnen und berechnen Sie die Nutzungskosten manuell. async function billUsageOverage ( subscriptionId : string ) {
const subscription = await getSubscription ( subscriptionId );
const seatCount = subscription . addons . find ( a => a . id === 'addon_seat' )?. quantity || 0 ;
const includedGB = seatCount * 5 ;
const usedGB = await calculatePeriodUsage ( subscription . customer_id );
const overageGB = Math . max ( 0 , usedGB - includedGB );
if ( overageGB > 0 ) {
const overageCharge = overageGB * 200 ; // $2/GB in cents
await client . subscriptions . charge ( subscriptionId , {
product_price: overageCharge ,
product_description: `Data overage: ${ overageGB } GB × $2/GB`
});
}
}
Empfehlung : Option B (Sitz-Add-On + bedarfsabhängige Nutzung) ist oft einfacher zu implementieren, da Dodo die Sitzabrechnung automatisch verwaltet. Sie müssen nur die Nutzungskosten verfolgen und berechnen.
Hybrides Modell 5: Abonnement + Sitze + Nutzung (Dreifach-Hybrid)
Das umfassendste Modell: Plattformgebühr + pro Benutzer + Verbrauch.
Einschränkung : Dodo Payments unterstützt derzeit nicht das Anfügen von sowohl Nutzungsmessern als auch Add-Ons an dasselbe Abonnementprodukt. Dieses Modell erfordert einen Workaround-Ansatz.
Bald verfügbar : Native Unterstützung für dreifache hybride Abrechnung (Basis + Sitze + Nutzung) steht auf unserer Roadmap. Dies wird es Ihnen ermöglichen, sowohl Nutzungsmesser als auch Sitz-Add-Ons an dasselbe Abonnementprodukt anzuhängen.
So funktioniert es
Enterprise-Plattform
Plattformgebühr : 199 USD/Monat
Pro Sitz : 25 USD/Benutzer/Monat
Nutzung : 0,10 USD/1000 API-Aufrufe (50K enthalten)
Beispielrechnung (Unternehmen mit 20 Benutzern, 150.000 API-Aufrufen):
Plattform: 199,00 USD
Sitze: 20 × 25 USD = 500,00 USD
Nutzung: (150K - 50K) × 0,10 USD/1K = 10,00 USD
Gesamt: 709,00 USD/Monat
Anwendungsfälle
Enterprise SaaS : Plattform + Team + Verbrauch
Datenplattformen : Arbeitsplatz + Analysten + Abfragen
Integrationsplattformen : Hub + Connectoren + Transaktionen
AI-Plattformen : Arbeitsplatz + Entwickler + Inferenz
Implementierungsoptionen
Wählen Sie einen dieser Ansätze zur Implementierung der dreifachen hybriden Abrechnung:
Verwenden Sie ein Abonnement mit Sitz-Add-Ons, berechnen Sie die Nutzung manuell über bedarfsabhängige Gebühren. Dies ist der empfohlene Ansatz , da Dodo die Plattformgebühr und die Sitzabrechnung automatisch verwaltet.
Sitz-Add-On erstellen
Dashboard: Products → Add-ons → Create Add-on
Name: "User Seat"
Price: $25 /month
Abonnementprodukt erstellen
Dashboard: Create Product → Subscription
Name: "Enterprise Platform"
Base Price: $199 /month
Attach add-on:
- "User Seat" add-on
Enable on-demand charging
Checkout mit Sitzen erstellen
const session = await client . checkoutSessions . create ({
product_cart: [{
product_id: 'prod_enterprise_platform' ,
quantity: 1 ,
addons: [{
addon_id: 'addon_user_seat' ,
quantity: 20 // 20 users
}]
}],
customer: { email: '[email protected] ' },
return_url: 'https://yourapp.com/success'
});
Nutzung in Ihrer Anwendung verfolgen
Speichern Sie Nutzungsevents in Ihrem System. // Track API calls in your system
async function trackApiCall ( customerId : string , endpoint : string ) {
await saveUsageEvent ({
customer_id: customerId ,
event_type: 'api.call' ,
endpoint: endpoint ,
timestamp: new Date ()
});
}
Nutzung am Ende des Zyklus berechnen
Berechnen und berechnen Sie die Nutzungskosten über die bedarfsabhängige Gebühr. async function billUsageOverage ( subscriptionId : string ) {
const usage = await calculatePeriodUsage ( subscriptionId );
const includedCalls = 50000 ;
const overageCalls = Math . max ( 0 , usage . totalCalls - includedCalls );
if ( overageCalls > 0 ) {
// $0.10 per 1000 calls = $0.0001 per call
const overageCharge = Math . ceil ( overageCalls / 1000 ) * 10 ; // cents
await client . subscriptions . charge ( subscriptionId , {
product_price: overageCharge ,
product_description: `API usage: ${ overageCalls . toLocaleString () } calls over 50K included`
});
}
}
Verwenden Sie ein Abonnement mit Nutzungsmesser, verwalten Sie die Sitzabrechnung in Ihrer Anwendung.
Nutzungsmesser erstellen
Dashboard: Meters → Create Meter
Event Name: "api.call"
Aggregation: Count
Abonnementprodukt mit Nutzung erstellen
Dashboard: Create Product → Subscription
Name: "Enterprise Platform"
Base Price: $199 /month
Attach usage pricing:
- Meter: api.call
- Price: $0 .10 per 1000 calls
- Free threshold: 50,000
Sitze in Ihrer Anwendung verwalten
Verfolgen Sie die Sitzanzahl und passen Sie den Basisabonnementpreis entsprechend an. // When seats change, update subscription price
async function updateSeatCount ( subscriptionId : string , newSeatCount : number ) {
const basePlatformFee = 19900 ; // $199 in cents
const perSeatFee = 2500 ; // $25 in cents
const totalPrice = basePlatformFee + ( newSeatCount * perSeatFee );
// Store seat count in your system
await updateSeatsInDatabase ( subscriptionId , newSeatCount );
// Note: You may need to handle this via plan changes or
// create multiple tier products for common seat counts
}
Nutzungsereignisse an Dodo senden
await fetch ( 'https://api.dodopayments.com/events/ingest' , {
method: 'POST' ,
headers: {
'Authorization' : `Bearer ${ apiKey } ` ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
events: [{
event_id: `api_ ${ Date . now () } ` ,
customer_id: 'cus_enterprise' ,
event_name: 'api.call' ,
timestamp: new Date (). toISOString ()
}]
})
});
Empfehlung : Option A (Basis + Sitze + bedarfsabhängige Nutzung) ist im Allgemeinen einfacher, da Dodo die Plattform- und Sitzabrechnung automatisch verwaltet. Sie müssen nur die Nutzung verfolgen und die Gebühren am Ende jedes Abrechnungszyklus einreichen.
Hybrides Modell 6: Gestufte Basis + Nutzung überlasten
Verschiedene Abonnementstufen mit unterschiedlichen enthaltenen Zulagen und Überlastungssätzen.
So funktioniert es
Stufe Preis Eingeschlossene Aufrufe Überlastungsrate Starter 19 USD/Monat 1.000 0,02 USD/Aufruf Pro 79 USD/Monat 25.000 0,01 USD/Aufruf Business 199 USD/Monat 100.000 0,005 USD/Aufruf Enterprise 499 USD/Monat 500.000 0,002 USD/Aufruf
Implementierung
Erstellen Sie separate Abonnementprodukte für jede Stufe, jedes mit seiner eigenen Nutzungskonfiguration:
# For each tier, create a subscription product:
# Starter Tier
Dashboard: Create Product → Subscription
Name: "Starter"
Base Price: $19 /month
Usage Pricing:
- Meter: api.call
- Price: $0 .02/call
- Free threshold: 1,000
# Pro Tier
Name: "Pro"
Base Price: $79 /month
Usage Pricing:
- Meter: api.call
- Price: $0 .01/call
- Free threshold: 25,000
# ... and so on for Business and Enterprise
Upgrade-Pfad
Wenn Kunden die Stufen upgraden, erhalten sie:
Höhere enthaltene Zulage
Niedrigere Überlastungsraten
Mehr Wert pro Dollar
// Customer upgrades from Starter to Pro
await client . subscriptions . changePlan ( 'sub_123' , {
product_id: 'prod_pro' ,
quantity: 1 ,
proration_billing_mode: 'prorated_immediately'
});
Hybrides Modell 7: Abonnement + bedarfsabhängige Gebühren
Wiederkehrendes Abonnement plus variable manuelle Gebühren für Dienstleistungen oder Überlastungen.
So funktioniert es
Retainer-Plan: 199 USD/Monat
Enthält:
Plattformzugang
5 Stunden Beratung/Monat
E-Mail-Support
Bedarfsabhängige Gebühren (nach Bedarf):
Zusätzliche Beratung: 150 USD/Stunde
Individuelle Entwicklung: 200 USD/Stunde
Notfallunterstützung: 100 USD/Vorfall
Beispielrechnung (diesen Monat):
Retainer: 199,00 USD
3 zusätzliche Beratungsstunden: 450,00 USD
1 Notfallunterstützung: 100,00 USD
Gesamt: 749,00 USD
Anwendungsfälle
Beratungsdienste : Retainer + stündliche Abrechnung
Verwaltete Dienste : Basisgebühr + Vorfallgebühren
Agenturdienste : Monatliche Gebühr + Projektgebühren
Supportpläne : SLA-Gebühr + pro Ticket oder pro Stunde
Implementierung
Bedarfsabhängiges Abonnement erstellen
Richten Sie ein Abonnement mit aktivierter bedarfsabhängiger Abrechnung ein. const subscription = await client . subscriptions . create ({
billing: {
city: 'San Francisco' ,
country: 'US' ,
state: 'CA' ,
street: '123 Main St' ,
zipcode: '94105'
},
customer: { customer_id: 'cus_123' },
product_id: 'prod_retainer' ,
quantity: 1 ,
payment_link: true ,
return_url: 'https://yourapp.com/success' ,
on_demand: {
mandate_only: false ,
product_price: 19900 // $199 initial charge
}
});
Für Dienstleistungen berechnen
Erstellen Sie Gebühren, wenn Dienstleistungen erbracht werden. // Charge for 3 hours of consulting
await client . subscriptions . charge ( 'sub_123' , {
product_price: 45000 , // $450.00 (3 × $150)
product_description: 'Consulting - 3 hours (March 15)'
});
// Charge for emergency support incident
await client . subscriptions . charge ( 'sub_123' , {
product_price: 10000 , // $100.00
product_description: 'Emergency support - Server outage (March 18)'
});
Verfolgen und abrechnen
Alle Gebühren erscheinen auf der Rechnung des Kunden. // Retrieve subscription charges
const payments = await client . payments . list ({
subscription_id: 'sub_123'
});
// Show itemized breakdown to customer
payments . items . forEach ( payment => {
console . log ( ` ${ payment . description } : $ ${ payment . amount / 100 } ` );
});
Beispiele aus der Praxis
Diese Beispiele zeigen ideale Preisstrukturen. Aufgrund der Einschränkung, dass Nutzungsmesser und Add-Ons nicht an dasselbe Produkt angehängt werden können, erfordern einige Kombinationen Workarounds (Verwendung von bedarfsabhängigen Gebühren für Nutzung oder von der App verwaltete Sitze).
Preisstruktur:
Basisabonnement : 99 USD/Monat (Plattformzugang, 5 Sitze enthalten)
Sitz-Add-On : 20 USD/Sitz/Monat
Funktions-Add-Ons : Individuelle Modelle (49 USD/Monat), API-Zugriff (29 USD/Monat), Prioritätswarteschlange (19 USD/Monat)
Nutzungsüberlastung : 0,02 USD pro 1.000 Tokens nach 100K (über bedarfsabhängig berechnet)
Implementierung : Verwenden Sie ein Abonnement mit Sitz- und Funktions-Add-Ons. Verfolgen Sie die Token-Nutzung in Ihrer Anwendung und berechnen Sie Überlastungen über bedarfsabhängige Gebühren am Ende des Abrechnungszyklus.
Beispielkunde (12 Benutzer, 500K Tokens, individuelle Modelle + API-Zugriff):
Komponente Berechnung Betrag Basis Plattformgebühr 99 USD Zusätzliche Sitze 7 × 20 USD 140 USD Individuelle Modelle Add-On 49 USD API-Zugriff Add-On 29 USD Tokenüberlastung 400K × 0,02 USD/1K (bedarfsabhängig) 8 USD Gesamt 325 USD/Monat
Stufenoptionen:
Kostenlos Pro Enterprise Preis 0 USD/Monat 29 USD/Monat 199 USD/Monat Benutzer 1 5 enthalten Unbegrenzt Builds 100 1.000 10.000 Speicher 1 GB 10 GB 100 GB
Implementierungsoptionen:
Option A (Nutzungsfokussiert): Erstellen Sie Produkte mit Nutzungsmessern für Builds/Speicher. Verwalten Sie Benutzer in Ihrer Anwendung.
Option B (Sitzfokussiert): Erstellen Sie Produkte mit Sitz-Add-Ons. Verfolgen Sie die Nutzung von Builds/Speicher und berechnen Sie Überlastungen über bedarfsabhängige Gebühren.
Add-Ons (bei Verwendung von Option B):
Zusätzliche Benutzer: 10 USD/Benutzer/Monat
Prioritäts-Builds: 19 USD/Monat
Individuelle Domains: 9 USD/Domaine/Monat
Beispiel 3: Marketing-Automatisierung
Preisstruktur:
Basis : 79 USD/Monat (Kernautomatisierungsfunktionen, 3 Sitze enthalten)
Kontaktstufen (Add-Ons): 1K enthalten, 5K (+30 USD), 25K (+80 USD), 100K (+200 USD)
Funktions-Add-Ons : SMS-Marketing (29 USD/Monat), Landing Pages (19 USD/Monat), A/B-Tests (29 USD/Monat)
Team-Sitze : 15 USD/Benutzer/Monat Add-On
E-Mail-Volumen : In der Anwendung verfolgen, Überlastung über bedarfsabhängig berechnen (1 USD/1.000 E-Mails über dem Limit)
Implementierung : Verwenden Sie ein Abonnement mit Kontaktstufen-Add-Ons, Funktions-Add-Ons und Sitz-Add-Ons. Verfolgen Sie die E-Mail-Versendungen in Ihrer Anwendung und berechnen Sie Überlastungen über bedarfsabhängige Gebühren.
Best Practices für die Implementierung
Klarheit auf der Preis-Seite
Gestalten Sie hybride Preisgestaltung leicht verständlich. Zeigen Sie die Grundkosten, was enthalten ist und wie Überlastungen auf Ihrer Preis-Seite deutlich an.
Gut : “49 USD/Monat beinhaltet 10.000 API-Aufrufe. Zusätzliche Aufrufe: 0,005 USD pro Stück”
Schlecht : “49 USD/Monat + Nutzungskosten”
Kostenvorhersehbarkeit
Helfen Sie Kunden, ihre Kosten zu schätzen:
// Provide a cost calculator
function estimateMonthlyCost ({
plan ,
seats ,
expectedUsage ,
addons
} : EstimateParams ) : number {
let total = plan . basePrice ;
// Add seat costs
const extraSeats = Math . max ( 0 , seats - plan . includedSeats );
total += extraSeats * plan . seatPrice ;
// Add usage overage
const overage = Math . max ( 0 , expectedUsage - plan . includedUsage );
total += overage * plan . overageRate ;
// Add feature add-ons
total += addons . reduce (( sum , addon ) => sum + addon . price , 0 );
return total ;
}
Nutzungstransparenz
Zeigen Sie Kunden ihre Nutzung in Echtzeit:
// Display usage dashboard
async function getUsageSummary ( subscriptionId : string ) {
const usage = await client . subscriptions . getUsageHistory ( subscriptionId );
return {
current: usage . current_period_usage ,
included: usage . free_threshold ,
remaining: Math . max ( 0 , usage . free_threshold - usage . current_period_usage ),
overage: Math . max ( 0 , usage . current_period_usage - usage . free_threshold ),
projectedCost: calculateProjectedOverage ( usage )
};
}
Abrechnungstransparenz
Stellen Sie detaillierte Rechnungen bereit, die alle Komponenten zeigen:
Posten Betrag Pro-Plan (monatlich) 49,00 USD Zusätzliche Sitze (7 × 15,00 USD) 105,00 USD API-Nutzung - Inklusive (10.000 Aufrufe) 0,00 USD API-Nutzung - Überlastung (15.420 Aufrufe × 0,005 USD) 77,10 USD Erweiterte Analytik-Add-On 19,00 USD Zwischensumme 250,10 USD Steuer (8,5%) 21,26 USD Gesamtbetrag 271,36 USD
Fehlersuche bei hybrider Abrechnung
Nutzung wird nicht korrekt verfolgt
Symptome : Nutzung zeigt 0 oder falsche Werte.Lösungen :
Überprüfen Sie, ob die Ereignisaufnahme funktioniert (API-Antworten überprüfen)
Bestätigen Sie, dass customer_id mit dem Abonnent übereinstimmt
Überprüfen Sie, ob event_name mit der Zählerkonfiguration übereinstimmt
Überprüfen Sie, ob die Ereignisse die richtigen Zeitstempel haben (nicht in der Zukunft datiert)
Verwirrung bei der Proration mit mehreren Komponenten
Symptome : Kunde wird unerwartete Beträge berechnet, wenn er die Pläne ändert.Lösungen :
Verwenden Sie previewChangePlan API, um die genauen Gebühren vor der Bestätigung anzuzeigen
Kommunizieren Sie, dass die Proration sowohl für Abonnements als auch für Add-Ons gilt
Erwägen Sie die Verwendung von difference_immediately für einfachere Upgrade-Abrechnung
Freigrenze wird nicht korrekt angewendet
Symptome : Kunde wird für Nutzung berechnet, die kostenlos sein sollte.Lösungen :
Überprüfen Sie, ob die Freigrenze auf dem nutzungsbasierten Produkt konfiguriert ist
Überprüfen Sie, ob die Schwellenwerteinheit mit der Ereignisaggregation übereinstimmt (Aufrufe vs. Anfragen)
Bestätigen Sie, dass der Nutzungsmesser korrekt mit dem Abonnementprodukt verbunden ist
Add-Ons erscheinen nicht im Checkout
Symptome : Kann während des Checkouts keine Sitze oder Funktionen hinzufügen.Lösungen :
Überprüfen Sie, ob die Add-Ons im Dashboard mit dem Abonnementprodukt verbunden sind
Überprüfen Sie, ob die Add-On-IDs in den API-Aufrufen korrekt sind
Stellen Sie sicher, dass die Währung des Add-Ons mit der Währung des Abonnementprodukts übereinstimmt
Verwandte Dokumentation