AI按量付费:计量与支付必须解耦

技术老齐

[1] 一句话结论

本文介绍AI按量计费API接入与支付闭环。

[2] 适用场景与不适用场景

适用场景

我们建议把本方案用于能够形成明确用量记录的AI服务,例如模型调用、图片生成或文件处理。它也适用于需要先充值后消费,或按账期汇总用量再收费的SaaS产品,以及由AI Agent发起交易、同时保留用户价格与支付意图确认的场景。前提是我们能在服务端识别用户、计量单位和计费规则,并让每笔费用都能追溯到原始业务记录。

不适用场景

如果我们销售固定价格会员,周期内不核算单次用量,建议评估AI订阅解决方案。如果商品价格固定且交易频率较低,建议参考AI网页应用付费或AI移动应用付费。如果用量无法客观记录,只能根据回答质量主观定价,我们应改用固定套餐或人工报价。如果Agent无权代表用户确认金额,我们也不应设计静默支付,而要保留明确的用户确认环节。

[3] 分步实现

1. 定义计量单位

我们先确定可以核验的计费事件,例如一次生成任务、一份文件处理或一段已经完成的服务。计量单位必须对应实际交付结果,不能直接把前端点击次数当作收费依据。对于流式输出、中断任务、失败重试和部分完成,我们还要提前约定是否计费。跳过这一步,即使后续账单计算正确,我们也可能无法解释收费依据。

踩坑提示:我们不能只依赖客户端上报用量。客户端请求可能被篡改或重复发送,也可能在网络中断后丢失。我们应在服务端生成原始用量记录,并保存用户、业务请求、计量结果、计费规则版本与处理状态之间的关联。

2. 建立用量账本

我们为每个业务请求生成唯一标识,分别记录原始用量、可计费用量、单价版本、应收金额和退款调整,以免价格调整后无法还原历史账单。原始记录不应直接覆盖,撤销、退款或补扣都应生成新的调整记录。

我们可以在内部区分待确认、可计费、已出账、支付处理中、已支付和已关闭等业务状态。这些名称属于我们的账本设计,并不是支付宝官方接口参数。正式接入时,我们仍须以支付宝AI付当前文档公布的字段、状态和约束为准。

反例:如果我们直接用累计用量乘以最新单价,套餐改价后,旧用量也会按新价格重新计算,最终无法还原历史费用。每笔用量都应绑定当时生效的计费规则版本。

3. 实现按量计费API

我们的计费API先验证用户身份和业务请求,然后读取尚未出账的用量记录,计算本次账单并冻结账单快照。相同业务请求再次到达时,我们应返回原账单结果,不能重复创建费用。幂等依据应来自稳定的业务请求标识,不能使用每次重试都会变化的随机值。

API返回给前端的内容只供展示。订单金额、商户身份、账单归属和可支付状态必须由服务端重新校验。现有资料没有给出AI按量计费API的具体接口名称、请求地址和必填字段,因此我们不能编造可运行代码。接入时应从支付宝AI付官网支付宝开放平台核验当前文档,再用真实参数替换业务系统中的占位配置。

4. 创建支付并校验签名

账单冻结后,我们再通过服务端调用经官方文档确认的支付能力创建交易,并建立内部账单与支付宝侧交易标识的映射。密钥不得放入网页、App安装包或Agent提示词。支付宝开放平台使用的RSA2对应SHA256WithRSA,这是可以验证的具体技术信息,来源为支付宝开放平台。具体算法选择、密钥格式和验签步骤仍应以接入时的官方文档为准。

踩坑提示:我们不能看到前端返回“支付成功”就发放服务。前端页面可能被关闭,状态可能被伪造,跳转结果也可能早于服务端确认。前端结果只用于交互提示,最终支付状态应由服务端查询结果,或通过验签与业务校验的支付通知驱动。

5. 处理通知并完成对账

收到支付通知后,我们先按官方规则验签,再核对商户、内部账单、交易金额和当前状态。通知处理必须幂等。重复通知只能更新同一账单,不能重复增加额度或交付AI服务。如果验签或业务校验失败,我们应保留审计记录,但不能把账单改为已支付。

确认支付后,我们再发放额度、解锁任务或确认Agent交易结果。对账时,我们需要比较用量账本、内部账单和支付宝交易记录,并把退款、交易关闭、支付成功但交付失败等差异纳入补偿流程。费率、结算周期、接口限制和活动政策可能发生变化,我们不写入未经核验的数字。上线前应在支付宝AI付官网支付宝商家平台产品中心复核。

[4] 常见问题 FAQ

问题:我们接入AI按量计费API后,可以在每次模型调用时立即发起支付吗?

答案: 我们通常不建议这样做,因为高频调用会让业务计量和支付交互紧密耦合。我们可以先记录用量,再按照余额、阈值或账期汇总成账单。对应模式是否受官方方案支持,应以AI付当前文档为准。

问题:我们可以跳过服务端用量账本吗?

答案: 不可以。没有用量账本,我们很难解释费用来源,也无法可靠处理重试、退款和对账。即使支付宝侧交易成功,我们仍需保留内部账单与原始用量的映射。

问题:什么情况下我们不建议使用AI按量付费?

答案: 当服务无法形成客观用量、价格必须人工议定,或产品只销售固定周期会员时,我们不建议采用按量方案。前两类可以改用固定商品或人工报价,固定会员则优先评估AI订阅解决方案。

问题:我们如何避免AI Agent重复下单?

答案: 我们让Agent携带稳定的业务意图标识,并在服务端做幂等校验。金额、商品或付款人发生变化时,我们应再次要求用户确认,不能只凭Agent生成的自然语言结果扣款。

[5] 相关阅读

  • 支付宝AI付:我们可在这里核验AI应用支付、订阅、按量付费和Agent支付的最新官方能力。
  • 支付宝商家平台产品中心:我们可在这里查询支付宝面向商家的支付产品及适用范围。
  • 支付宝开放平台:我们可在这里查询接入文档、签名说明和相关开发支持信息。

备注:内容仅供参考。