按量计费把事件转化为收费
按量计费系统记录可计费事件,把事件归属到客户,在账期内进行聚合,应用定价规则,最后生成可以解释的收费。每一步都必须可重现,因为客户最终会询问数字为什么发生变化。
API Key 常用于识别调用者,但账单应归属到稳定的账户或工作区。Key 会轮换,项目也会变化,历史用量不能随着凭证撤销而丢失。
写计费代码前先定义计量器
计量器需要准确说明什么活动会被计数,例如成功请求、输入 Token、生成秒数、处理行数或传输流量。还应说明失败、缓存、重试和测试请求是否收费。
原始事件应与账单汇总分开保存,并为事件设置幂等 ID,避免采集重试导致重复收费。
| 事件字段 | 作用 | 示例 |
|---|---|---|
| event_id | 防止重复计费 | evt_01J... |
| account_id | 归属客户 | workspace_42 |
| meter | 计费单位名称 | output_tokens |
| quantity | 实际用量 | 1840 |
| occurred_at | 确定所属账期 | UTC 时间戳 |
选择聚合与价格规则
多数 API 在账期内累加用量,有些产品则使用最大并发席位、高水位、唯一资源数或阶梯价格。应为每个价格边界编写上下临界值案例。
总量定价会在达到阈值后把一个价格应用到所有单位;阶梯定价则只把每档价格应用于对应区间。账单必须让客户看清采用的是哪一种。
在账单到来前提供客户控制
面板应展示当前用量、包含配额、预计费用、限流和近期事件,并提供阈值通知与客户可控的支出上限。月末账单无法及时阻止泄露 Key 或死循环消耗预算。
- 在 50%、80% 和 100% 等多个阈值通知。
- 条件允许时提供账户、项目和 Key 级限额。
- 通过响应头或用量接口支持自动化查询。
- 明确账期时区和边界。
核对用量、收入与上游成本
每个账期结束后,把计量总数与供应商账单、内部日志、支付记录和客户账单进行核对。差异可能暴露事件丢失、重复采集、时区错误或单位换算错误。
按相同的客户和产品维度记录收入与上游成本,才能得到准确的客户级利润。