Cách Cursor tính phí
Cursor sử dụng mô hình kết hợp subscription hàng tháng với một pool credit giảm dần. Cách tiếp cận này mang lại mức giá dễ dự đoán cho người dùng, đồng thời quản lý chi phí biến đổi của các model AI khác nhau. Các gói giá: Cursor cung cấp các gói từ Hobby đến Ultra, cân bằng quyền truy cập premium và tiêu chuẩn để phù hợp với nhiều quy trình làm việc khác nhau.
Khấu trừ theo trọng số model: Các request khác nhau tiêu thụ lượng credit khác nhau dựa trên chi phí của model nền tảng. Điều này cho phép Cursor cung cấp một subscription duy nhất bao phủ nhiều provider, đồng thời đảm bảo các thao tác đắt đỏ được tính đến.
Hết credit và overage: Khi credit cạn, người dùng được chuyển sang hàng đợi “Slow” với các model rẻ hơn thay vì bị ngừng truy cập. Ngoài ra, họ có thể bật overage dựa trên mức sử dụng để duy trì quyền truy cập premium với chi phí cố định cho mỗi request.
- Enterprise và Business: Các team sử dụng mức dùng chung, trong đó toàn bộ tổ chức chia sẻ một bucket credit duy nhất. Điều này đơn giản hóa việc quản lý và đảm bảo người dùng có mức sử dụng cao không chạm giới hạn cá nhân trong khi những người khác vẫn còn dung lượng chưa dùng.
Đ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 bằng cách giải quyết những vấn đề mà các mô hình tính phí SaaS truyền thống thường gặp khó khăn.- Trừu tượng hóa provider: Một subscription duy nhất bao bọc nhiều provider LLM như OpenAI và Anthropic, xử lý việc định giá phức tạp và API key ở phía sau.
- Khấu trừ có trọng số: Chi phí phù hợp với giá trị bằng cách tính nhiều hơn cho các model mạnh hơn, khiến việc định giá trở nên công bằng và minh bạch với mọi người dùng.
- Suy giảm linh hoạt: Hàng đợi “Slow” ngăn việc ngắt truy cập đột ngột, giữ người dùng trong sản phẩm và khuyến khích nâng cấp mà không mang tính trừng phạt.
- Credit dùng chung: Các bucket cấp team giảm trở ngại cho khách hàng enterprise bằng cách cho phép chia sẻ tài nguyên hiệu quả trong toàn tổ chức.
Xây dựng mô hình này với Dodo Payments
Bạn có thể tái tạo chính xác mô hình này bằng cách sử dụng các credit entitlement và tính phí dựa trên mức sử dụng của Dodo Payments. Các bước sau sẽ hướng dẫn bạn triển khai.1
Create a Custom Unit Credit Entitlement
Trước tiên, hãy định nghĩa hệ thống credit trong dashboard Dodo. Entitlement này sẽ đại diện cho “Premium Requests” mà người dùng nhận được cùng subscription.
- Loại credit: Custom Unit
- Tên unit: “Premium Requests”
- Độ chính xác: 0 (vì không thể sử dụng nửa request)
- Hạn sử dụng credit: 30 ngày (đảm bảo credit được đặt lại sau mỗi chu kỳ tính phí)
- Chuyển số dư: Đã tắt (các request chưa dùng không được chuyển sang tháng tiếp theo)
- Overage: Đã bật
- Giá mỗi unit: $0.04 (chi phí cho mỗi request sau khi pool ban đầu đã cạn)
- Cách xử lý overage: Tính overage vào kỳ tính phí (chi phí overage được cộng vào hóa đơn tiếp theo)
2
Create Subscription Products
Tạo các product riêng cho từng gói. Gắn cùng một credit entitlement vào mỗi product nhưng với số lượng khác nhau. Điều này cho phép bạn quản lý mọi gói bằng một hệ thống credit duy nhất, giúp dễ dàng nâng cấp hoặc hạ cấp người dùng.
- Hobby: $0/tháng, 50 credit/chu kỳ
- Pro: $20/tháng, 500 credit/chu kỳ
- Pro+: $60/tháng, 5000 credit/chu kỳ (về cơ bản là không giới hạn với hầu hết người dùng)
- Ultra: $200/tháng, 50000 credit/chu kỳ (về cơ bản là không giới hạn)
3
Create a Usage Meter Linked to Credits
Tạo một meter có tên
ai.request với phép tổng hợp Sum trên thuộc tính credit_cost. Liên kết meter này với credit entitlement bằng cách bật tùy chọn “Bill usage in Credits”. Đặt số unit của meter cho mỗi credit là 1.Để xử lý việc khấu trừ theo trọng số model, bạn sẽ quản lý chi phí credit ở cấp ứng dụng. Khi người dùng gửi request, ứng dụng sẽ xác định chi phí dựa trên model hoặc loại hành động.4
Handle Credit Exhaustion (Slow Queue)
Lắng nghe webhook
credit.balance_low từ Dodo. Khi credit của người dùng gần bằng 0, bạn có thể chuyển họ sang hàng đợi chậm trong ứng dụng. Đây là nơi bạn triển khai logic “suy giảm linh hoạt”.5
Create Checkout
Cuối cùng, tạo một checkout session để người dùng đăng ký gói. Dodo tự động xử lý thanh toán, tuân thủ thuế và phân bổ credit.
Tăng tốc với LLM Ingestion Blueprint
Tính phí theo credit ở trên xử lý việc monetization cốt lõi của bạn. Để phân tích sâu hơn về lượng token thực tế được tiêu thụ qua các provider, LLM Ingestion Blueprint có thể chạy song song với hệ thống credit.Credit dùng chung cho team (Enterprise)
Các gói Business và Enterprise của Cursor chia sẻ credit trong toàn team. Bạn có thể triển khai cách này với Dodo bằng cách tạo một subscription duy nhất cho tổ chức thay vì cho từng người dùng. Điều này đảm bảo mức sử dụng của team được hợp nhất và quản lý như một thực thể duy nhất, đây là yêu cầu quan trọng đối với các khách hàng lớn.Chiến lược triển khai
- Customer cấp tổ chức: Tạo một
customer_idduy nhất trong Dodo cho toàn bộ tổ chức. Customer này đại diện cho thực thể thanh toán của team và nắm giữ pool credit dùng chung. Tất cả hóa đơn và phân bổ credit đều gắn với ID này. - Tính phí theo seat: Sử dụng add-on của Dodo để tính phí platform theo từng người dùng. Khi team thêm thành viên mới, bạn cập nhật số lượng add-on “Seat”. Điều này đảm bảo doanh thu tăng theo số người dùng trong khi pool credit được tách riêng. Đây là cách rõ ràng để xử lý tính phí đa chiều.
- Theo dõi mức sử dụng dùng chung: Request của tất cả thành viên team được ingestion bằng
customer_idcủa tổ chức. Điều này đảm bảo mọi request từ bất kỳ thành viên nào đều khấu trừ từ cùng một pool credit trung tâm. Bạn vẫn có thể theo dõi mức sử dụng của từng người dùng bằng cách thêmuser_idvào metadata của event để báo cáo và phân tích nội bộ.
So sánh với tính phí SaaS truyền thống
Tính phí SaaS truyền thống thường sử dụng các gói giá cố định (ví dụ: $10/tháng cho 100 unit). Nếu người dùng cần 101 unit, họ thường phải chuyển lên gói $50/tháng. Điều này tạo ra hiệu ứng “vách đá”, có thể khiến người dùng thất vọng và rời bỏ dịch vụ. Cách này cũng không tính đến chi phí biến đổi của các loại mức sử dụng khác nhau, vốn rất quan trọng trong lĩnh vực AI. Mô hình của Cursor, được vận hành bởi Dodo, linh hoạt và công bằng hơn nhiều:- Không có hiệu ứng “vách đá”: Người dùng không phải nâng cấp chỉ vì chạm giới hạn. Họ có thể trả phí overage hoặc chấp nhận hiệu suất chậm hơn. Điều này giữ họ trong sản phẩm và giảm trở ngại, dẫn đến mức độ hài lòng cao hơn và tỷ lệ rời bỏ thấp hơn.
- Căn chỉnh chi phí: Doanh thu của bạn tăng trực tiếp theo chi phí hạ tầng. Nếu người dùng sử dụng các model đắt đỏ, họ sẽ trả nhiều hơn (thông qua credit hoặc overage). Điều này bảo vệ margin và cho phép bạn cung cấp các tính năng chi phí cao một cách bền vững mà không gây rủi ro cho mô hình kinh doanh.
- Duy trì người dùng tốt hơn: Bằng cách không ngắt truy cập, bạn giữ người dùng tương tác với sản phẩm ngay cả khi họ đã đạt giới hạn. Họ vẫn có thể tiếp tục làm việc, từ đó xây dựng lòng trung thành lâu dài và tăng giá trị vòng đời của khách hàng. Đây là lợi ích cho cả người dùng và provider.
Xử lý cập nhật và thay đổi model
Một trong những thách thức của tính phí AI là các model liên tục được cập nhật hoặc thay thế. Model mới có thể có cấu trúc chi phí hoặc đặc tính hiệu suất khác nhau. Với hệ thống credit của Dodo, bạn có thể xử lý việc này linh hoạt ở cấp ứng dụng mà không cần migrate dữ liệu tính phí. Nếu giới thiệu một model mới đắt hơn, bạn chỉ cần cập nhật functiongetCreditCost để gán chi phí cao hơn cho model đó. Bạn không cần thay đổi cấu hình tính phí hoặc cập nhật các subscription hiện có. Việc tách biệt billing và logic ứng dụng là một lợi thế lớn, cho phép bạn cải tiến sản phẩm với tốc độ của AI mà không bị hệ thống tính phí cản trở.
Thông báo và tính minh bạch với người dùng
Để mang lại trải nghiệm người dùng tốt, việc thông báo cho người dùng về mức sử dụng credit là rất quan trọng. Tính minh bạch xây dựng niềm tin và giúp người dùng quản lý chi phí hiệu quả. Bạn có thể sử dụng webhook của Dodo để kích hoạt thông báo tại nhiều ngưỡng khác nhau (ví dụ: 50%, 80% và 100% mức sử dụng). Các thông báo này có thể được gửi qua email, cảnh báo trong ứng dụng hoặc tin nhắn Slack. Bằng cách cung cấp phản hồi theo thời gian thực về mức sử dụng, bạn khuyến khích người dùng quản lý mức tiêu thụ hoặc nâng cấp gói trước khi chuyển sang “hàng đợi chậm”. Cách tiếp cận chủ động này làm giảm số ticket hỗ trợ và cải thiện trải nghiệm tổng thể, khiến sản phẩm trở nên chuyên nghiệp và lấy người dùng làm trung tâm hơn.Bảo mật và phòng chống gian lận
Khi triển khai hệ thống dựa trên credit, bạn cần cân nhắc vấn đề bảo mật và phòng chống gian lận. Vì credit có giá trị tiền tệ trực tiếp, chúng có thể trở thành mục tiêu bị lạm dụng.- Idempotency: Luôn sử dụng các
event_idduy nhất khi ingestion event mức sử dụng để tránh tính trùng. API ingestion của Dodo tự động xử lý idempotency nếu bạn cung cấp ID duy nhất, đảm bảo việc retry mạng không khiến người dùng bị tính phí hai lần. - Rate Limiting: Triển khai rate limiting ở cấp ứng dụng để ngăn một người dùng tiêu thụ credit (hoặc ngân sách API của bạn) quá nhanh. Điều này bảo vệ hạ tầng và ví tiền của người dùng.
- Giám sát: Theo dõi các mô hình sử dụng để phát hiện bất thường có thể cho thấy việc chia sẻ tài khoản hoặc lạm dụng tự động. Analytics của Dodo có thể giúp bạn nhận diện các mô hình này và hành động trước khi chúng trở thành vấn đề lớn.
Best Practices cho hệ thống credit
Khi xây dựng hệ thống tính phí dựa trên credit, hãy ghi nhớ các best practices sau:- Giữ mọi thứ đơn giản: Đừng làm hệ thống credit quá phức tạp. Người dùng cần dễ dàng hiểu mỗi request tốn bao nhiêu và họ còn bao nhiêu credit.
- Cung cấp giá trị: Đảm bảo credit mang lại giá trị thực cho người dùng. Nếu chi phí mỗi request quá cao, người dùng sẽ cảm thấy bị tính từng khoản nhỏ quá mức.
- Minh bạch: Luôn hiển thị số dư credit hiện tại và lịch sử sử dụng của người dùng. Điều này xây dựng niềm tin và giảm nhầm lẫn.
- Tự động hóa mọi thứ: Sử dụng webhook và API của Dodo để tự động hóa tối đa quy trình tính phí. Điều này giảm công việc thủ công và đảm bảo việc tính phí luôn chính xác.
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 giảm dần và overage bằng custom unit.
Subscriptions
Thiết lập tính phí định kỳ cho các gói khác nhau với credit tích hợp.
Usage-Based Billing
Theo dõi event và tính phí dựa trên mức tiêu thụ theo thời gian thực.
Event Ingestion
Gửi dữ liệu mức sử dụng khối lượng lớn đến Dodo với độ trễ thấp.
Webhooks
Phản hồi các thay đổi về số dư credit và tự động hóa việc phân loại người dùng theo gói.
LLM Ingestion Blueprint
Tự động theo dõi token qua nhiều provider LLM.