Varför OpenAI:s modell är standarden
Traditionell SaaS-debitering hanterar inte de varierande kostnaderna för AI-användning särskilt bra. OpenAI:s modell löser tre problem samtidigt:- Förutsägbara intäkter och låg risk: Eftersom API-användningen betalas i förskott kan användare inte samla på sig räkningar som de inte kan betala. OpenAI får pengarna i förskott och användaren förbrukar dem i takt med att tjänsten används.
- Skalbarhet för utvecklare: En påfyllning på $5 är en låg tröskel för att komma igång. När en applikation växer kan utvecklare automatisera påfyllningar eller köpa större paket. Det är billigt att börja och användningen kan öka utan att planen behöver ändras.
- Användarpsykologi: Krediter angivna i amerikanska dollar, i stället för abstrakta “tokens” eller “poäng”, gör värdet tydligt. Saldo fungerar som ett förbetalt konto för AI-tjänster, vilket gör det enklare för företag att budgetera.
Så fakturerar OpenAI
OpenAI använder två debiteringsmodeller för olika användare.- API (Pay-as-you-go): API:et använder förbetalda krediter denominerade i dollar. Användare fyller på sina konton med $5, $10, $50 eller mer. Krediterna visar ett dollarvärde men kan inte användas utanför OpenAI. OpenAI debiterar per token, med olika priser för input- och output-tokens. Köpta krediter upphör att gälla ett år efter köpet och återbetalas inte (OpenAI Help Center). När saldot når $0 misslyckas API-anrop.
- ChatGPT Plus, Business, and Enterprise: Detta är abonnemang till fast pris. ChatGPT Plus kostar $20 per månad och Business-planen (tidigare Team) kostar $25 per användare och månad vid månadsvis debitering. De har mjuka användningsgränser: användare med hög användning flyttas till en mindre modell i stället för att blockeras.
- Spend-based rate tiers: När de totala utgifterna ökar över tid låser kontot upp högre API-gränser. Åtkomsten utökas baserat på faktureringshistoriken.
Vad gör det unikt
Fyra egenskaper gör OpenAI:s faktureringsmodell effektiv för AI-tjänster:- Fiat-denominerade krediter: Krediterna anges i amerikanska dollar, så de känns som pengar. Utvecklare kan läsa priset för en begäran direkt.
- Lång giltighetstid: Köpta krediter gäller i ett år, vilket minskar pressen att “använda eller förlora dem”. Användare känner sig trygga med att fylla på större belopp.
- Flerdimensionell mätning: Input- och output-tokens spåras separat men dras från samma saldo. OpenAI kan prissätta dyrare output-tokens högre än input-tokens.
- Förtroendenivåer: API-gränser som ökar med de totala utgifterna belönar långvariga kunder och uppmuntrar dem att stanna kvar.
Strategiska fördelar
Modellen förstärker sig själv. Låga startkostnader lockar utvecklare. Förbetalda krediter ger omedelbart kassaflöde. Bruksbaserad prissättning innebär att OpenAI tjänar mer när utvecklarna lyckas. Abonnemang ger en stabil intäktsbas från andra än utvecklare.Bygg detta med Dodo Payments
Du kan bygga OpenAI:s faktureringsmodell med Dodo Payments. Använd Credit-Based Billing för API-delen och standardabonnemang för ChatGPT Plus-delen.1
Create a Fiat Credit Entitlement
Gå till Products → Credits i din Dodo Payments-dashboard och klicka på Create Credit. Denna kredit är det centrala saldot för varje användare.
- Credit Type: Fiat Credits, med Unit Currency inställd på USD
- Credit Expiry: Custom, 365 dagar (motsvarar OpenAI:s giltighetstid på ett år), eller Never
- Rollover: Behövs inte (krediter återställs inte varje cykel)
- Allow Overage: Inaktiverat
2
Create Top-Up Products
Skapa engångsbetalningsprodukter för olika kreditpaket, till exempel $5, $10, $50 och $100. Koppla din fiat-kredit till varje produkt.Ange antalet utfärdade krediter till paketets dollarvärde. Ett paket på $50 utfärdar 50 krediter.
3
Create Usage Meters
Skapa två meters för att spåra tokenanvändning:
llm.input_tokens: Sum-aggregation på egenskapentokens.llm.output_tokens: Sum-aggregation på egenskapentokens.
Beräkna Meter Units per Credit
För att motsvara OpenAI:s GPT-4o-prissättning räknar du ut hur många tokens som kostar $1, vilket motsvarar en fiat-kredit:- Input Tokens: 1 000 000 tokens / $2,50 = 400 000 tokens per $1.
- Output Tokens: 1 000 000 tokens / $10,00 = 100 000 tokens per $1.
4
Send Usage Events
Efter varje LLM-begäran skickar du användningen till Dodo Payments. En begäran kan innehålla både input- och output-händelsen. Detta kodexempel återanvänder
client från föregående steg.5
Handle Balance Depletion
Kontrollera användarens saldo innan du behandlar en API-begäran. Om saldot är noll eller negativt avvisar du begäran, till exempel med statusen
402.Hantera webhookar för lågt saldo
Meddela användare innan de når $0. Ange en Low Balance Threshold när du kopplar krediten och skicka sedan ett e-postmeddelande eller en avisering i appen när webhookencredit.balance_low anländer.6
Build the ChatGPT Subscription Side (Optional)
Om du vill erbjuda ett abonnemang som ChatGPT Plus skapar du en separat abonnemangsprodukt i Dodo Payments. Den behöver inte ha någon kreditentitlement.För en Team-plan använder du seat-based billing: ett tillägg per plats där antalet platser motsvarar antalet användare.
Implementera mjuka gränser
För att bygga mjuka gränser spårar du abonnemangsanvändares användning med samma meters, men utan att koppla dem till en kredit. I din applikation kontrollerar du användningen för den aktuella faktureringsperioden.Snabba upp med LLM Ingestion Blueprint
Stegen ovan bygger och skickar användningshändelser manuellt. LLM Ingestion Blueprint omsluter i stället din OpenAI-klient och spårar tokens automatiskt.inputTokens, outputTokens och totalTokens från varje API-svar och skickar dem, tillsammans med model, som händelsemetadata. Ställ in din meters Over Property på den tokennyckel du vill fakturera.
Implementera spend-baserade gränsnivåer
OpenAI:s gränsnivåer hanterar kapacitet baserat på förtroende. För att bygga dem spårar du varje kunds totala utgifter över tid.- Spåra totala utgifter: Lyssna efter webhookar från
payment.succeededoch lägg till betalningsbeloppet i etttotal_spend-fält för kunden i din databas. Belopp anges i den minsta valutaenheten, så 5000 motsvarar $50,00. - Definiera nivåer: Mappa utgiftsbelopp till API-gränser:
- Nivå 1: $0–$50 i utgifter -> 3 RPM
- Nivå 2: $50–$250 i utgifter -> 10 RPM
- Nivå 3: $250+ i utgifter -> 50 RPM
- Tillämpa gränser: Slå upp kundens nivå i ditt API-middleware och tillämpa dess gräns.
Fullständigt implementeringsexempel: API-proxyn
I produktion ligger en API-proxy vanligtvis mellan dina användare och LLM-leverantören. Proxyn autentiserar begäran, kontrollerar krediter och rapporterar användningen. Hanteraren nedan implementerar proxyn:Hantera specialfall
Ett faktureringssystem som OpenAI:s har flera specialfall som du bör planera för.Race conditions
En användare med lågt saldo kan skicka flera begäranden samtidigt och överskrida saldot innan någon händelse har behandlats. För att förhindra detta håller du en liten buffert eller ett distribuerat lås på kundens saldo under varje begäran.Fördröjning vid händelseimport
Dodo Payments drar krediter asynkront. En bakgrundsworker behandlar nya händelser ungefär en gång per minut, så ett avdrag kan släpa efter API-anropet. För strikt realtidstillämpning håller du en lokal cache över varje användares saldo och uppdaterar den när du betjänar begäranden.Hantera återbetalningar
En återbetalning av ett köp av ett kreditpaket tar inte bort de krediter som köpet gav. När du gör en återbetalning drar du själv av krediterna med en debit: använd Apply Credit/Debit på kundens flik Credits eller API:et Create Ledger Entry. Uppdatera sedan applikationens bild av saldot så att användare inte kan spendera krediter de inte längre har.Stöd för flera modeller
Om du vill stödja flera modeller med olika priser väljer du ett av två alternativ:- Separata meters: Skapa en uppsättning meters per modell, till exempel
gpt-4o.input_tokensochgpt-4o-mini.input_tokens, var och en med egna inställningar för Meter units per credit. - Viktade händelser: Använd en meter och multiplicera
tokensmed en vikt innan händelsen skickas. Om GPT-4o till exempel kostar tio gånger så mycket som GPT-4o-mini skickar du tio gånger så många tokens för GPT-4o-begäranden.
Arkitekturöversikt
Loopen nedan visar det förbetalda flödet från köp till blockerade anrop: Meters spårar tokens och drar deras dollarvärde från användarens kreditsaldo enligt dina konfigurerade priser. Din applikation blockerar anrop när saldot når noll.Slutsats
Med Dodo Payments kan du kombinera bruksbaserad fakturering med förutsägbarheten hos förbetalda krediter, precis som OpenAI gör. Kunder betalar i förväg, spenderar efter behov och fyller på när de behöver mer. Samma delar fungerar för en stor LLM-plattform eller ett litet AI-verktyg: en fiat-kredit, produkter för påfyllning, token-meters och en saldokontroll före varje begäran.Viktiga Dodo-funktioner som används
Dessa Dodo Payments-funktioner driver implementeringen:Credit-Based Billing
Hantera förbetalda fiat-krediter och entitlements för dina användare.
Usage-Based Billing
Spåra detaljerad användning som tokens och fakturera för den.
One-Time Payments
Sälj kreditpaket och påfyllningar via checkout.
Event Ingestion
Skicka användningsdata med hög volym till Dodo Payments.
Webhooks
Håll dig uppdaterad om ändringar i kreditsaldot och varningar om lågt saldo.
LLM Ingestion Blueprint
Automatisk tokenspårning för OpenAI och andra LLM-leverantörer.