Skip to main content
OpenAI kết hợp credit fiat trả trước cho việc sử dụng API với các gói đăng ký theo mức phí cố định cho sản phẩm dành cho người tiêu dùng. Mô hình trả trước giúp OpenAI nhận tiền trước, đồng thời cho phép developer mở rộng mức sử dụng mà không cần trao đổi với đội ngũ bán hàng. Nhiều công ty AI sao chép mô hình này.

Why OpenAI’s Model is the Standard

Mô hình tính phí SaaS truyền thống không xử lý tốt chi phí biến đổi của việc sử dụng AI. Mô hình của OpenAI giải quyết đồng thời ba vấn đề:
  1. Doanh thu có thể dự đoán và rủi ro thấp: Vì việc sử dụng API được trả trước, người dùng không thể phát sinh các hóa đơn mà họ không có khả năng thanh toán. OpenAI nhận tiền trước, còn người dùng chi tiêu khi sử dụng dịch vụ.
  2. Khả năng mở rộng cho developer: Khoản nạp thêm $5 là rào cản gia nhập thấp. Khi ứng dụng phát triển, developer có thể tự động hóa việc nạp thêm hoặc mua các gói lớn hơn. Chi phí bắt đầu thấp và mức sử dụng có thể tăng mà không cần đổi gói.
  3. Tâm lý người dùng: Credit được định danh bằng đô la Mỹ, thay vì các “token” hoặc “point” trừu tượng, giúp giá trị trở nên rõ ràng. Số dư hoạt động như một tài khoản trả trước cho dịch vụ AI, giúp doanh nghiệp lập ngân sách dễ dàng hơn.

How OpenAI Bills

OpenAI vận hành hai mô hình tính phí cho các nhóm người dùng khác nhau.
  1. API (Pay-as-you-go): API sử dụng các khoản credit trả trước được định danh bằng dollar. Người dùng nạp thêm $5, $10, $50 hoặc nhiều hơn vào tài khoản. Các credit hiển thị giá trị bằng dollar nhưng không thể sử dụng bên ngoài OpenAI. OpenAI tính phí theo token, với các mức giá khác nhau cho token đầu vào và đầu ra. Credit đã mua sẽ hết hạn sau một năm kể từ ngày mua và không được hoàn tiền (OpenAI Help Center). Khi số dư đạt $0, các lệnh gọi API sẽ thất bại.
  2. ChatGPT Plus, Business, and Enterprise: Đây là các gói subscription có mức phí cố định. ChatGPT Plus có giá $20 mỗi tháng, còn gói Business (trước đây là Team) có giá $25 mỗi user mỗi tháng khi thanh toán theo tháng. Các gói này có giới hạn sử dụng mềm: user sử dụng nhiều sẽ được chuyển sang model nhỏ hơn thay vì bị chặn.
  3. Spend-based rate tiers: Khi tổng chi tiêu tăng theo thời gian, tài khoản sẽ mở khóa các giới hạn tốc độ API cao hơn. Quyền truy cập tăng theo lịch sử thanh toán.
Giá token dưới đây là các mức giá được công bố tại thời điểm viết bài:

Điều gì tạo nên sự độc đáo

Bốn đặc điểm khiến mô hình thanh toán của OpenAI hiệu quả đối với các dịch vụ AI:
  • Credit định danh bằng fiat: Credit được tính bằng dollar Mỹ nên tạo cảm giác như tiền thật. Developer có thể đọc trực tiếp giá của một request.
  • Thời hạn dài: Credit đã mua có hiệu lực trong một năm, giúp giảm áp lực “dùng hoặc mất”. User sẽ thoải mái nạp các khoản lớn hơn.
  • Đo lường đa chiều: Token đầu vào và đầu ra được theo dõi riêng nhưng cùng khấu trừ từ một số dư. OpenAI có thể định giá token đầu ra tốn kém cao hơn token đầu vào.
  • Trust tier: Giới hạn tốc độ tăng theo tổng chi tiêu, vừa tưởng thưởng khách hàng lâu năm vừa khuyến khích họ tiếp tục sử dụng.

Lợi thế chiến lược

Mô hình này tự củng cố. Chi phí gia nhập thấp thu hút developer. Credit trả trước tạo dòng tiền ngay lập tức. Định giá dựa trên mức sử dụng đồng nghĩa OpenAI kiếm được nhiều hơn khi developer thành công. Subscription bổ sung nguồn doanh thu ổn định từ những người không phải developer.

Xây dựng mô hình này với Dodo Payments

Bạn có thể xây dựng mô hình thanh toán của OpenAI bằng Dodo Payments. Sử dụng Credit-Based Billing cho phần API và các subscription tiêu chuẩn cho phần ChatGPT Plus.
1

Create a Fiat Credit Entitlement

Trong dashboard Dodo Payments, đi đến Products → Credits và nhấp vào Create Credit. Credit này là số dư trung tâm cho từng user.
  • Credit Type: Fiat Credits, với Unit Currency được đặt là USD
  • Credit Expiry: Custom, 365 ngày (khớp với thời hạn một năm của OpenAI), hoặc Never
  • Rollover: Không cần thiết (credit không reset sau mỗi chu kỳ)
  • Allow Overage: Disabled
Fiat credit sử dụng hai chữ số thập phân, vì vậy một credit tương đương một dollar và số dư được theo dõi đến cent. Dodo Payments không chặn việc sử dụng khi số dư đạt zero. Để các lệnh gọi API thất bại ở mức $0 như OpenAI, hãy kiểm tra số dư trong ứng dụng trước mỗi request (xem Handle Balance Depletion bên dưới).
2

Create Top-Up Products

Tạo các sản phẩm thanh toán một lần cho những gói credit khác nhau, chẳng hạn $5, $10, $50 và $100. Gắn fiat credit vào từng sản phẩm.Đặt số credit được phát hành bằng giá trị dollar của gói. Gói $50 sẽ phát hành 50 credit.
3

Create Usage Meters

Tạo hai meter để theo dõi mức sử dụng token:
  • llm.input_tokens: Sum aggregation trên thuộc tính tokens.
  • llm.output_tokens: Sum aggregation trên thuộc tính tokens.
Trên usage-based product, bật Bill usage in Credits cho cả hai meter và chọn fiat credit. Sau đó đặt Meter units per credit cho từng meter.

Tính Meter units per credit

Để khớp với mức giá GPT-4o của OpenAI, hãy tính xem cần bao nhiêu token cho $1, tương đương một fiat credit:
  • Input Tokens: 1,000,000 token / $2.50 = 400,000 token cho mỗi $1.
  • Output Tokens: 1,000,000 token / $10.00 = 100,000 token cho mỗi $1.
Trong dashboard Dodo Payments, đặt Meter units per credit thành 400,000 cho input và 100,000 cho output. Dodo Payments chia tổng số token của mỗi meter cho giá trị này để xác định số credit cần khấu trừ.
4

Send Usage Events

Sau mỗi LLM request, hãy gửi mức sử dụng đến Dodo Payments. Một request có thể chứa cả event input và output. Đoạn snippet này sử dụng lại client từ bước trước.
5

Handle Balance Depletion

Kiểm tra số dư của user trước khi xử lý API request. Nếu số dư bằng zero hoặc âm, hãy từ chối request, chẳng hạn bằng status 402.

Xử lý Low Balance Webhooks

Thông báo cho user trước khi số dư đạt $0. Đặt Low Balance Threshold khi gắn credit, sau đó gửi email hoặc thông báo trong ứng dụng khi webhook credit.balance_low đến.
OpenAI cung cấp tính năng auto recharge, tự động mua thêm credit khi số dư giảm xuống dưới ngưỡng do user đặt.
6

Build the ChatGPT Subscription Side (Optional)

Để cung cấp subscription plan như ChatGPT Plus, hãy tạo một subscription product riêng trong Dodo Payments. Sản phẩm này không cần credit entitlement.Đối với gói Team, hãy sử dụng seat-based billing: một add-on theo seat có quantity bằng số user.

Triển khai giới hạn mềm

Để xây dựng giới hạn mềm, hãy theo dõi mức sử dụng của user subscription bằng các meter tương tự nhưng không liên kết chúng với credit. Trong ứng dụng, kiểm tra mức sử dụng trong billing period hiện tại.

Tăng tốc với LLM Ingestion Blueprint

Các bước trên xây dựng và gửi usage event thủ công. LLM Ingestion Blueprint thay vào đó bọc OpenAI client của bạn và tự động theo dõi token.
Blueprint đọc inputTokens, outputTokens và totalTokens từ mọi API response rồi gửi chúng cùng với model dưới dạng event metadata. Đặt Over Property của meter thành token key mà bạn muốn tính phí.
LLM Blueprint hỗ trợ OpenAI, Anthropic, Groq, Google Gemini, OpenRouter và Vercel AI SDK. Xem tài liệu blueprint đầy đủ để biết các ví dụ theo từng provider và cấu hình nâng cao.

Triển khai Spend-Based Rate Tiers

Rate tier của OpenAI quản lý capacity dựa trên trust. Để xây dựng tính năng này, hãy theo dõi tổng chi tiêu của từng customer trong suốt vòng đời.
  1. Theo dõi tổng chi tiêu: Lắng nghe webhook payment.succeeded và cộng số tiền thanh toán vào một field total_spend của customer đó trong database. Số tiền được tính bằng đơn vị tiền tệ nhỏ nhất, vì vậy 5000 tương đương $50.00.
  2. Xác định tier: Ánh xạ các mức chi tiêu với rate limit:
    • Tier 1: Chi tiêu $0 - $50 -> 3 RPM
    • Tier 2: Chi tiêu $50 - $250 -> 10 RPM
    • Tier 3: Chi tiêu từ $250 trở lên -> 50 RPM
  3. Áp dụng giới hạn: Trong API middleware, tra cứu tier của customer và áp dụng rate limit tương ứng.

Ví dụ triển khai đầy đủ: API Proxy

Trong môi trường production, một API proxy thường nằm giữa user và LLM provider. Proxy xác thực request, kiểm tra credit và báo cáo mức sử dụng. Handler bên dưới triển khai proxy:

Xử lý các trường hợp đặc biệt

Một billing system như của OpenAI có một số trường hợp đặc biệt cần được lập kế hoạch.

Race Condition

User có số dư thấp có thể gửi nhiều request cùng lúc và vượt quá số dư trước khi bất kỳ event nào được xử lý. Để ngăn điều này, hãy duy trì một buffer nhỏ hoặc giữ distributed lock trên số dư của customer trong mỗi request.

Độ trễ khi tiếp nhận event

Dodo Payments khấu trừ credit không đồng bộ. Một background worker xử lý event mới khoảng một lần mỗi phút, vì vậy việc khấu trừ có thể chậm hơn API call. Để thực thi nghiêm ngặt theo thời gian thực, hãy duy trì local cache về số dư của từng user và cập nhật cache khi bạn phục vụ request.

Xử lý hoàn tiền

Việc hoàn tiền cho một giao dịch mua credit pack không xóa số credit đã cấp. Khi hoàn tiền, hãy tự khấu trừ số credit đó bằng debit: sử dụng Apply Credit/Debit trong tab Credits của customer hoặc API Create Ledger Entry. Sau đó cập nhật cách ứng dụng của bạn hiển thị số dư để user không thể tiêu số credit mà họ không còn.

Hỗ trợ nhiều model

Để hỗ trợ nhiều model có mức giá khác nhau, hãy chọn một trong hai tùy chọn:
  1. Separate Meters: Tạo một bộ meter cho mỗi model, chẳng hạn gpt-4o.input_tokens và gpt-4o-mini.input_tokens, mỗi meter có Meter units per credit riêng.
  2. Weighted Events: Sử dụng một meter và nhân tokens với một weight trước khi gửi event. Ví dụ, nếu GPT-4o có giá cao gấp 10 lần GPT-4o-mini, hãy gửi số token gấp 10 lần cho các request GPT-4o.
OpenAI công bố rate riêng cho từng model, và các meter riêng biệt ánh xạ trực tiếp nhất với cấu trúc đó.

Tổng quan kiến trúc

Vòng lặp bên dưới cho thấy prepaid flow từ lúc mua đến khi các lệnh gọi bị chặn: Các meter theo dõi token và khấu trừ giá trị dollar của chúng khỏi số dư credit của user theo các rate bạn đã cấu hình. Ứng dụng của bạn chặn các lệnh gọi khi số dư đạt zero.

Kết luận

Với Dodo Payments, bạn có thể kết hợp usage-based billing với tính dễ dự đoán của prepaid credit, giống như OpenAI. Customer thanh toán trước, sử dụng dần và nạp thêm khi cần. Các thành phần tương tự có thể được sử dụng cho một nền tảng LLM lớn hoặc một công cụ AI nhỏ: một fiat credit, các sản phẩm top-up, token meter và kiểm tra số dư trước mỗi request.

Các tính năng chính của Dodo được sử dụng

Các tính năng Dodo Payments sau đây hỗ trợ việc triển khai:

Credit-Based Billing

Quản lý fiat credit trả trước và entitlement cho user.

Usage-Based Billing

Theo dõi mức sử dụng chi tiết như token và tính phí cho mức sử dụng đó.

One-Time Payments

Bán credit pack và top-up thông qua checkout.

Event Ingestion

Gửi dữ liệu usage volume cao đến Dodo Payments.

Webhooks

Luôn cập nhật về các thay đổi số dư credit và cảnh báo số dư thấp.

LLM Ingestion Blueprint

Tự động theo dõi token cho OpenAI và các LLM provider khác.
Lần sửa đổi cuối 26 tháng 9, 2026