SaaS API Monetization:基于用量的计费模式

了解如何通过基于用量的计费模式实现 SaaS API 变现,涵盖计量架构、Stripe 集成、定价模型和开发者体验设计。

Maya Patel
Maya Patel
June 1, 202612 min read
其他语言:Deutsch · English

TL;DR: 基于用量的计费(计量计费)根据 API 消耗量向客户收费——包括请求次数、存储空间、计算时长或用户数。Stripe 的计量计费集成与 TanStack Start 让这一模式轻松落地。本文涵盖计量架构、定价模型(按请求计费、阶梯计费、超量计费)以及开发者门户设计。


简介

基于用量的计费模式使收入与客户获得的价值保持一致。轻度用户付费少,重度用户付费多。这一模式是 API 产品的标准做法(Twilio、Stripe、OpenAI),也越来越被 SaaS 平台所采纳。


计量架构

tsx
// API 用量计量中间件
export const meterApiUsage = defineMiddleware({
  before: async ({ request, context }) => {
    const apiKey = request.headers.get('x-api-key')
    const user = await getUserByApiKey(apiKey)

    // 记录用量事件
    context.metering = {
      userId: user.id,
      endpoint: request.url,
      timestamp: Date.now(),
    }
  },
  after: async ({ context }) => {
    // 在 D1 中增加用量计数器
    await db.insertInto('api_usage').values({
      user_id: context.metering.userId,
      endpoint: context.metering.endpoint,
      timestamp: context.metering.timestamp,
    }).execute()
  },
})

定价模型

模型示例最适合
按请求计费每个 API 调用 $0.01简单 API
阶梯计费前 1 万次免费,此后 $0.005高频 API
超量计费$29/月含 5 万次,超出后 $0.001/次SaaS + API
按单位计费每 GB 存储 $10存储产品
并发计费每个席位 $50协作 API

Stripe 计量计费

tsx
import Stripe from 'stripe'

// 向 Stripe 上报用量
await stripe.subscriptionItems.createUsageRecord(
  subscriptionItemId,
  {
    quantity: apiCalls,
    timestamp: 'now',
    action: 'increment',
  }
)

结语

基于用量的计费将定价与价值对齐。计量基础设施——追踪用量、向 Stripe 上报、在仪表板中展示——借助 TanStack Start 服务端函数和 Stripe 计量计费 API 可以轻松实现。完整的计费策略可参考我们的 Stripe 计费指南 和 SaaS 定价层级策略。