Skip to main content
OpenAI combina crediti fiat prepagati per l’utilizzo dell’API con abbonamenti a tariffa fissa per i suoi prodotti consumer. La componente prepagata fornisce a OpenAI liquidità immediata e consente agli sviluppatori di aumentare l’utilizzo senza dover parlare con il team vendite. Molte aziende di AI copiano questo modello.

Why OpenAI’s Model is the Standard

La fatturazione SaaS tradizionale non gestisce bene il costo variabile dell’utilizzo dell’AI. Il modello di OpenAI risolve tre problemi contemporaneamente:
  1. Ricavi prevedibili e rischio ridotto: poiché l’utilizzo dell’API è prepagato, gli utenti non possono accumulare fatture che non sono in grado di pagare. OpenAI riceve il denaro in anticipo e l’utente lo spende man mano che utilizza il servizio.
  2. Scalabilità per gli sviluppatori: una ricarica di $5 rappresenta una barriera d’ingresso ridotta. Quando un’applicazione cresce, gli sviluppatori possono automatizzare le ricariche o acquistare pacchetti più grandi. Iniziare è economico e l’utilizzo può crescere senza cambiare piano.
  3. Psicologia degli utenti: i crediti denominati in dollari statunitensi, invece di “token” o “punti” astratti, rendono chiaro il valore. Il saldo funziona come un conto prepagato per i servizi di AI, facilitando la gestione del budget per le aziende.

How OpenAI Bills

OpenAI utilizza due modelli di fatturazione per utenti diversi.
  1. API (Pay-as-you-go): l’API utilizza crediti prepagati denominati in dollari. Gli utenti ricaricano i propri account con $5, $10, $50 o più. I crediti mostrano un valore in dollari, ma non possono essere utilizzati al di fuori di OpenAI. OpenAI applica i costi per token, con tariffe diverse per i token di input e di output. I crediti acquistati scadono un anno dopo l’acquisto e non sono rimborsabili (OpenAI Help Center). Quando il saldo raggiunge $0, le chiamate API hanno esito negativo.
  2. ChatGPT Plus, Business e Enterprise: sono abbonamenti a tariffa fissa. ChatGPT Plus costa $20 al mese, mentre il piano Business (precedentemente Team) costa $25 per utente al mese con fatturazione mensile. Prevedono limiti di utilizzo flessibili: gli utenti più assidui passano a un modello più piccolo invece di essere bloccati.
  3. Fasce tariffarie basate sulla spesa: man mano che la spesa totale aumenta nel tempo, l’account sblocca limiti di velocità API più elevati. L’accesso cresce in base alla cronologia di fatturazione.
I prezzi dei token riportati di seguito sono le tariffe pubblicate al momento della stesura:

Cosa lo rende unico

Quattro caratteristiche rendono efficace il modello di fatturazione di OpenAI per i servizi AI:
  • Crediti denominati in valuta fiat: i crediti sono espressi in dollari statunitensi, quindi vengono percepiti come denaro. Gli sviluppatori possono leggere direttamente il prezzo di una richiesta.
  • Scadenza lunga: i crediti acquistati durano un anno, riducendo la pressione del tipo “usalo o perdilo”. Gli utenti si sentono tranquilli nel ricaricare importi maggiori.
  • Misurazione multidimensionale: i token di input e di output vengono conteggiati separatamente, ma scalati dallo stesso saldo. OpenAI può applicare ai costosi token di output un prezzo più elevato rispetto ai token di input.
  • Livelli basati sulla fiducia: i limiti di velocità che aumentano con la spesa totale premiano i clienti di lunga data e li incoraggiano a rimanere.

Vantaggi strategici

Il modello si rafforza da solo. I costi di ingresso ridotti attirano gli sviluppatori. I crediti prepagati forniscono un flusso di cassa immediato. La tariffazione basata sull’utilizzo significa che OpenAI guadagna di più quando gli sviluppatori hanno successo. Gli abbonamenti aggiungono una base stabile di ricavi provenienti dagli utenti non sviluppatori.

Crea questo modello con Dodo Payments

Puoi creare il modello di fatturazione di OpenAI con Dodo Payments. Usa Credit-Based Billing per la parte API e gli abbonamenti standard per la parte ChatGPT Plus.
1

Create a Fiat Credit Entitlement

Nel dashboard di Dodo Payments, vai a Products → Credits e fai clic su Create Credit. Questo credito costituisce il saldo centrale di ogni utente.
  • Credit Type: Fiat Credits, con Unit Currency impostato su USD
  • Credit Expiry: Custom, 365 giorni (corrisponde alla scadenza di un anno di OpenAI) o Never
  • Rollover: Non necessario (i crediti non si azzerano a ogni ciclo)
  • Allow Overage: Disabilitato
I crediti fiat utilizzano due cifre decimali, quindi un credito equivale a un dollaro e i saldi tengono conto dei centesimi. Dodo Payments non blocca l’utilizzo quando il saldo raggiunge zero. Per fare in modo che le chiamate API abbiano esito negativo a $0 come in OpenAI, controlla il saldo nella tua applicazione prima di ogni richiesta (consulta Handle Balance Depletion di seguito).
2

Create Top-Up Products

Crea prodotti di pagamento una tantum per diversi pacchetti di crediti, ad esempio $5, $10, $50 e $100. Collega il tuo credito fiat a ciascun prodotto.Imposta il numero di crediti emessi sul valore in dollari del pacchetto. Un pacchetto da $50 emette 50 crediti.
3

Create Usage Meters

Crea due meter per monitorare l’utilizzo dei token:
  • llm.input_tokens: aggregazione Sum sulla proprietà tokens.
  • llm.output_tokens: aggregazione Sum sulla proprietà tokens.
Nel prodotto basato sull’utilizzo, attiva Bill usage in Credits per entrambi i meter e seleziona il credito fiat. Quindi imposta Meter units per credit per ciascuno.

Calcolo di Meter units per credit

Per corrispondere ai prezzi di GPT-4o di OpenAI, calcola quanti token costano $1, ovvero un credito fiat:
  • Token di input: 1.000.000 token / $2,50 = 400.000 token per $1.
  • Token di output: 1.000.000 token / $10,00 = 100.000 token per $1.
Nel dashboard di Dodo Payments, imposta Meter units per credit su 400.000 per l’input e 100.000 per l’output. Dodo Payments divide i token aggregati di ciascun meter per questo valore per ottenere i crediti da scalare.
4

Send Usage Events

Dopo ogni richiesta LLM, invia l’utilizzo a Dodo Payments. Una richiesta può contenere sia l’evento di input sia quello di output. Questo snippet riutilizza client del passaggio precedente.
5

Handle Balance Depletion

Controlla il saldo dell’utente prima di elaborare una richiesta API. Se il saldo è pari o inferiore a zero, rifiuta la richiesta, ad esempio con uno status 402.

Gestione dei webhook di saldo ridotto

Informa gli utenti prima che raggiungano $0. Imposta una Low Balance Threshold quando colleghi il credito, quindi invia un’e-mail o una notifica in-app quando arriva il webhook credit.balance_low.
OpenAI offre la ricarica automatica, che acquista altri crediti quando il saldo scende al di sotto di una soglia impostata dall’utente.
6

Build the ChatGPT Subscription Side (Optional)

Per offrire un piano di abbonamento come ChatGPT Plus, crea un prodotto di abbonamento separato in Dodo Payments. Non è necessario che disponga di un’entitlement di credito.Per un piano Team, usa la fatturazione basata sulle postazioni: un componente aggiuntivo per postazione la cui quantità corrisponde al numero di utenti.

Implementazione dei limiti flessibili

Per creare limiti flessibili, monitora l’utilizzo degli utenti con abbonamento usando gli stessi meter, ma senza collegarli a un credito. Nella tua applicazione, controlla l’utilizzo del periodo di fatturazione corrente.

Accelera con LLM Ingestion Blueprint

I passaggi precedenti creano e inviano manualmente gli eventi di utilizzo. LLM Ingestion Blueprint avvolge invece il tuo client OpenAI e monitora automaticamente i token.
Il blueprint legge inputTokens, outputTokens e totalTokens da ogni risposta API e li invia, insieme a model, come metadata dell’evento. Imposta Over Property del meter sulla chiave del token che vuoi fatturare.
LLM Blueprint supporta OpenAI, Anthropic, Groq, Google Gemini, OpenRouter e Vercel AI SDK. Consulta la documentazione completa del blueprint per esempi specifici per provider e configurazioni avanzate.

Implementazione delle fasce tariffarie basate sulla spesa

Le fasce tariffarie di OpenAI gestiscono la capacità in base alla fiducia. Per crearle, monitora la spesa complessiva di ogni cliente.
  1. Monitora la spesa complessiva: ascolta i webhook payment.succeeded e aggiungi l’importo del pagamento a un campo total_spend per quel cliente nel database. Gli importi sono espressi nell’unità più piccola della valuta, quindi 5000 corrisponde a $50,00.
  2. Definisci le fasce: associa gli importi spesi ai limiti di velocità:
    • Fascia 1: spesa da $0 a $50 -> 3 RPM
    • Fascia 2: spesa da $50 a $250 -> 10 RPM
    • Fascia 3: spesa superiore a $250 -> 50 RPM
  3. Applica i limiti: nel middleware API, individua la fascia del cliente e applica il relativo limite di velocità.

Esempio completo di implementazione: il proxy API

In produzione, un proxy API si trova generalmente tra gli utenti e il provider LLM. Il proxy autentica la richiesta, controlla i crediti e comunica l’utilizzo. Il gestore seguente implementa il proxy:

Gestione dei casi limite

Un sistema di fatturazione come quello di OpenAI presenta diversi casi limite da pianificare.

Race condition

Un utente con un saldo ridotto può inviare diverse richieste contemporaneamente e superare il saldo prima che venga elaborato un evento. Per evitarlo, mantieni un piccolo buffer oppure applica un distributed lock al saldo del cliente durante ogni richiesta.

Latenza nell’acquisizione degli eventi

Dodo Payments scala i crediti in modo asincrono. Un worker in background elabora i nuovi eventi circa una volta al minuto, quindi l’addebito può essere successivo alla chiamata API. Per un’applicazione rigorosa in tempo reale, mantieni una cache locale del saldo di ogni utente e aggiornala mentre gestisci le richieste.

Gestione dei rimborsi

Il rimborso dell’acquisto di un pacchetto di crediti non rimuove i crediti che aveva assegnato. Quando effettui un rimborso, scala autonomamente quei crediti con un addebito: usa Apply Credit/Debit nella scheda Credits del cliente oppure l’API Create Ledger Entry. Quindi aggiorna la rappresentazione del saldo nella tua applicazione, così gli utenti non potranno spendere crediti che non possiedono più.

Supporto per più modelli

Per supportare diversi modelli con prezzi differenti, scegli una delle due opzioni:
  1. Meter separati: crea un set di meter per modello, ad esempio gpt-4o.input_tokens e gpt-4o-mini.input_tokens, ciascuno con il proprio valore Meter units per credit.
  2. Eventi ponderati: usa un meter e moltiplica tokens per un peso prima di inviare l’evento. Ad esempio, se GPT-4o costa 10 volte più di GPT-4o-mini, invia un numero di token 10 volte maggiore per le richieste GPT-4o.
OpenAI pubblica una tariffa separata per ogni modello e i meter separati riflettono questa struttura nel modo più diretto.

Panoramica dell’architettura

Il ciclo seguente mostra il flusso prepagato dall’acquisto al blocco delle chiamate: I meter monitorano i token e scalano il loro valore in dollari dal saldo dei crediti dell’utente secondo le tariffe configurate. La tua applicazione blocca le chiamate quando il saldo raggiunge zero.

Conclusione

Con Dodo Payments puoi combinare la fatturazione basata sull’utilizzo con la prevedibilità dei crediti prepagati, proprio come fa OpenAI. I clienti pagano in anticipo, spendono man mano che utilizzano il servizio e ricaricano quando hanno bisogno di altro credito. Gli stessi componenti funzionano sia per una grande piattaforma LLM sia per un piccolo strumento AI: un credito fiat, prodotti di ricarica, meter per i token e un controllo del saldo prima di ogni richiesta.

Funzionalità principali di Dodo utilizzate

Queste funzionalità di Dodo Payments alimentano l’implementazione:

Credit-Based Billing

Gestisci crediti fiat prepagati ed entitlement per i tuoi utenti.

Usage-Based Billing

Monitora l’utilizzo dettagliato, come i token, e fatturalo.

One-Time Payments

Vendi pacchetti di crediti e ricariche tramite checkout.

Event Ingestion

Invia dati di utilizzo ad alto volume a Dodo Payments.

Webhooks

Rimani aggiornato sulle variazioni del saldo dei crediti e sugli avvisi di saldo ridotto.

LLM Ingestion Blueprint

Monitoraggio automatico dei token per OpenAI e altri provider LLM.
Ultima modifica il 26 settembre 2026