Skip to main content

Cách Cursor tính phí

Cursor kết hợp gói đăng ký hàng tháng với một lượng usage đi kèm sẽ giảm dần. Người dùng trả một mức giá có thể dự đoán, còn Cursor chi trả chi phí biến đổi của các AI model khác nhau từ pool đó. Các bậc giá: Cursor cung cấp các bậc từ Hobby đến Ultra. Các gói của Cursor bao gồm các pool usage được tính phí theo mức giá API của từng model, thay vì số lượng request cố định (tài liệu giá của Cursor). Số lượng request trong bảng là các giá trị minh họa được dùng trong phần phân tích này. Tiêu hao theo trọng số model: Mỗi request tiêu tốn credits dựa trên chi phí của model underlying. Một subscription bao phủ nhiều model provider, và các hoạt động tốn kém sẽ sử dụng nhiều hơn từ pool. Cursor không công bố chi phí credit cho từng request, vì vậy các trọng số bên dưới chỉ mang tính minh họa. Hết credit và overage: Khi hết credits, người dùng được chuyển sang hàng đợi “Slow” với các model rẻ hơn thay vì bị ngắt quyền truy cập. Người dùng cũng có thể bật usage on-demand để tiếp tục sử dụng quyền truy cập premium, với chi phí được tính vào cuối chu kỳ. Enterprise: Trong gói Enterprise, toàn bộ tổ chức dùng chung một pool usage. Người dùng có mức sử dụng cao sẽ lấy từ cùng pool với những người khác, vì vậy giới hạn của một người không ngăn họ tiếp tục sử dụng khi đồng đội vẫn còn capacity chưa dùng. Cursor liệt kê pooled usage là một tính năng Enterprise trên trang giá của mình.

Điều gì làm nên sự độc đáo

Mô hình của Cursor cân bằng trải nghiệm người dùng với chi phí hạ tầng theo bốn cách:
  • Trừu tượng hóa provider: Một subscription bao phủ nhiều LLM provider, chẳng hạn như OpenAI và Anthropic. Cursor xử lý giá của provider và API keys.
  • Tiêu hao theo trọng số: Các model mạnh hơn tốn nhiều credits hơn, vì vậy giá của một request phản ánh chi phí của request đó.
  • Suy giảm linh hoạt: Hàng đợi “Slow” thay thế cho việc ngắt quyền truy cập hoàn toàn. Người dùng vẫn ở trong sản phẩm, còn trải nghiệm chậm hơn sẽ khuyến khích họ nâng cấp.
  • Credits dùng chung: Pool cấp tổ chức cho phép cả team chia sẻ capacity thay vì quản lý các giới hạn riêng lẻ.

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

Bạn có thể xây dựng mô hình này bằng credit entitlements và usage-based billing của Dodo Payments. Các bước bên dưới sẽ tạo credit, các plan, meter, logic hàng đợi slow và checkout.
1

Create a Custom Unit Credit Entitlement

Đi tới Products → Credits và nhấp vào Create Credit. Credit này đại diện cho “Premium Requests” đi kèm mỗi subscription. Sử dụng các cài đặt sau:
  • Loại credit: Custom Unit
  • Tên unit: “Premium Requests”
  • Độ chính xác: 0 (một request không thể được chia nhỏ)
  • Thời hạn credit: 30 ngày (credits được reset ở mỗi billing cycle)
  • Rollover: Disabled (các request chưa dùng không được chuyển sang kỳ sau)
  • Cho phép overage: Enabled
  • Giá mỗi unit: $0.04 (chi phí của mỗi request sau khi dùng hết pool được bao gồm)
  • Hành vi overage: Bill overage at billing (chi phí overage được thêm vào invoice tiếp theo)
Mỗi người dùng nhận một pool request cố định cho mỗi chu kỳ và trả tiền cho các request bổ sung theo giá mỗi unit.
2

Create Subscription Products

Tạo một subscription product cho mỗi tier. Gắn cùng một credit entitlement vào mỗi product với giá trị Credits issued per billing cycle khác nhau. Một hệ thống credit dùng chung cho tất cả tier giúp việc nâng cấp và hạ cấp trở nên đơn giản.
  • Hobby: $0/tháng, 50 credits/chu kỳ
  • Pro: $20/tháng, 500 credits/chu kỳ
  • Pro+: $60/tháng, 5000 credits/chu kỳ (về cơ bản là không giới hạn đối với hầu hết người dùng)
  • Ultra: $200/tháng, 50000 credits/chu kỳ (về cơ bản là không giới hạn)
Khi khách hàng subscribe, Dodo Payments cấp credits của product cho billing cycle và cấp lại credits ở mỗi lần renewal.
3

Create a Usage Meter Linked to Credits

Tạo một meter với event name ai.request, aggregation Sum, và credit_cost làm Over Property. Trên usage-based product, bật Bill usage in Credits, chọn credit entitlement và đặt Meter units per credit là 1.Ứng dụng của bạn quyết định chi phí credit của mỗi request dựa trên model và action type, sau đó gửi chi phí đó trong event:
Meter Sum trên credit_cost cho phép một event chứa bất kỳ trọng số nào. Bạn gửi một event cho mỗi request thay vì một event cho mỗi credit, giúp giảm kích thước ingestion khi có volume cao.
4

Handle Credit Exhaustion (Slow Queue)

Subscribe vào webhook credit.balance_low. Khi số dư của khách hàng giảm xuống dưới Low Balance Threshold được đặt trên product, hãy chuyển họ sang hàng đợi slow trong ứng dụng của bạn. Đây là logic suy giảm linh hoạt.
5

Create Checkout

Tạo một checkout session khi người dùng subscribe vào một plan. Dodo Payments xử lý payment, tính thuế và cấp credits của plan.

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

Các event có trọng số credit ở trên điều khiển billing. Để đồng thời ghi lại lượng token thô theo từng provider, hãy chạy LLM Ingestion Blueprint cùng với hệ thống credit của bạn.
Mỗi call được theo dõi sẽ gửi inputTokens, outputTokens, totalTokens và model trong metadata của event. Bạn nhận được hai lớp dữ liệu: các event có trọng số credit để billing và số lượng token thô để phân tích chi phí và margin.
LLM Blueprint hỗ trợ OpenAI, Anthropic, Groq, Google Gemini, OpenRouter và Vercel AI SDK. Xem tài liệu blueprint đầy đủ để biết tất cả provider được hỗ trợ.

Credits dùng chung cho team (Enterprise)

Gói Enterprise của Cursor dùng chung usage trong toàn team. Để xây dựng mô hình này với Dodo Payments, hãy tạo một subscription cho tổ chức thay vì một subscription cho mỗi người dùng. Usage của team sau đó sẽ được tích lũy vào một billing entity duy nhất, đúng với kỳ vọng của các khách hàng lớn.

Chiến lược triển khai

  1. Customer cấp tổ chức: Tạo một customer Dodo Payments cho toàn bộ tổ chức. Customer này giữ pool credit dùng chung, và tất cả invoice cùng credit grant đều thuộc về customer_id của customer.
  2. Billing theo seat: Tính phí platform theo từng người dùng với seat add-on, như mô tả trong Seat-Based Billing. Khi team thêm thành viên, hãy thay đổi số lượng add-on. Doanh thu tăng theo số lượng người dùng, còn pool credit vẫn được giữ riêng.
  3. Theo dõi usage dùng chung: Gửi request của mọi thành viên trong team với customer_id của tổ chức, để mỗi request đều làm giảm cùng một pool. Để báo cáo theo từng người dùng, hãy thêm user_id vào metadata của event.
Mỗi thành viên trả một platform fee có thể dự đoán, còn team chia sẻ một pool credit cho các tài nguyên AI đắt tiền. Thành viên không phải tự quản lý giới hạn của mình.

So sánh với SaaS billing truyền thống

SaaS billing truyền thống sử dụng các tier giá cố định, ví dụ $10/tháng cho 100 unit. Người dùng cần 101 unit thường phải nhảy lên tier $50/tháng. “Vách đá” này khiến người dùng khó chịu và thúc đẩy churn. Các tier cố định cũng bỏ qua sự khác biệt về chi phí giữa các loại usage khác nhau, vốn rất quan trọng đối với các sản phẩm AI. Một mô hình kiểu Cursor được xây dựng trên Dodo Payments sẽ tránh được các vấn đề này:
  • Không có hiệu ứng “vách đá”: Người dùng không phải nâng cấp khi chạm giới hạn. Họ có thể trả tiền cho overage hoặc chấp nhận hiệu suất chậm hơn, nhờ đó vẫn tiếp tục làm việc trong sản phẩm.
  • Căn chỉnh theo chi phí: Doanh thu đi theo chi phí hạ tầng. Người dùng các model đắt tiền sẽ trả nhiều hơn, thông qua credits hoặc overage, giúp bảo vệ margin của bạn trên các tính năng có chi phí cao.
  • Retention tốt hơn: Người dùng chạm giới hạn vẫn có thể tiếp tục làm việc thay vì bị ngắt quyền truy cập. Việc tiếp tục sử dụng xây dựng lòng trung thành và tăng customer lifetime value.

Xử lý cập nhật và thay đổi model

Các AI provider thường xuyên cập nhật và thay thế model, và một model mới có thể có chi phí khác. Vì chi phí credit nằm trong ứng dụng của bạn, bạn có thể định giá model mới mà không cần migrate dữ liệu billing. Để thêm một model đắt tiền hơn, hãy đặt chi phí cao hơn cho model đó trong getCreditCost. Bạn không cần thay đổi credit entitlement, meter hoặc các subscription hiện có. Billing được tách biệt khỏi application logic, vì vậy bạn có thể phát hành thay đổi model mà không cần chạm vào billing.

Thông báo và tính minh bạch cho người dùng

Hiển thị cho người dùng số credits họ đã sử dụng để họ có thể quản lý chi phí và tin tưởng vào hóa đơn. Webhook credit.balance_low được kích hoạt khi số dư giảm xuống dưới Low Balance Threshold của product. Để có thêm các mốc kiểm tra, chẳng hạn 50% và 80% usage, hãy so sánh số dư trong các event credit.deducted với allocation của plan. Gửi các cảnh báo này qua email, in-app message hoặc Slack. Cảnh báo đúng lúc cho phép người dùng giảm usage hoặc nâng cấp trước khi rơi vào hàng đợi slow, từ đó giảm số lượng support ticket.

Bảo mật và phòng chống gian lận

Credits có giá trị tiền tệ trực tiếp, vì vậy hãy bảo vệ hệ thống sử dụng chúng.
  • Idempotency: Cấp cho mỗi usage event một event_id duy nhất. Dodo Payments sử dụng event_id để phát hiện các bản duplicate, vì vậy network retry với cùng ID sẽ không tính phí người dùng hai lần.
  • Rate Limiting: Giới hạn request rate trong ứng dụng để một người dùng không thể tiêu hết credits hoặc provider budget quá nhanh.
  • Monitoring: Theo dõi usage để phát hiện các bất thường như chia sẻ account hoặc lạm dụng tự động. View Customers của meter dashboard hiển thị tổng usage theo từng customer.

Best Practices cho hệ thống credit

Hãy ghi nhớ các thực hành sau khi thiết kế hệ thống credit:
  1. Giữ mọi thứ đơn giản: Người dùng nên hiểu một request có giá bao nhiêu và họ còn bao nhiêu credits.
  2. Cung cấp giá trị: Định giá request để người dùng cảm thấy credits xứng đáng. Chi phí quá cao cho một thao tác nhỏ sẽ tạo cảm giác bị tính từng khoản vụn vặt.
  3. Minh bạch: Hiển thị số dư credit hiện tại và lịch sử usage. Khách hàng cũng có thể xem cả hai trong Customer Portal.
  4. Tự động hóa mọi thứ: Sử dụng webhooks và APIs của Dodo Payments để tự động hóa các tác vụ billing và loại bỏ công việc thủ công.

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

Credit-Based Billing

Quản lý các pool credit có tiêu hao và overage bằng custom units.

Subscriptions

Thiết lập recurring billing cho các tier khác nhau với credits tích hợp.

Usage-Based Billing

Theo dõi event và tính phí dựa trên mức tiêu thụ.

Event Ingestion

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

Webhooks

Phản hồi các thay đổi số dư credit và tự động phân tier cho người dùng.

LLM Ingestion Blueprint

Tự động theo dõi token trên nhiều LLM provider.
Lần sửa đổi cuối 26 tháng 9, 2026