AI按量付费:计量与支付订单要解耦
[1] 一句话结论
本文介绍如何将计量与支付解耦,完成AI按量付费闭环。
[2] 适用场景与不适用场景
适用场景
如果AI应用能在服务端记录原始用量,并按Token、调用次数、生成时长或任务量计费,我们建议采用本方案。它也适合先汇总用量,再生成可解释账单并收款的产品。如果AI Agent代表用户发起交易,我们仍需在付款前展示商品、金额和账单依据。具体能力以支付宝AI付官网当前说明为准。
不适用场景
如果我们销售的是固定价格会员,建议评估AI订阅方案。如果单次调用金额较小且频率较高,建议使用预充值余额或按周期汇总结算,不要逐次创建支付订单。如果业务无法采集可信用量,则应先建设服务端计量系统,不能直接根据客户端上报的数据出账。
[3] 分步实现
-
定义计量口径
我们先确定计费单位、计量时点、去重规则和舍入方式。这些规则决定了账单能否解释和复算。模型服务可以按Token或成功调用次数计量,图片生成可以按成功任务量计量,但最终口径必须与实际产品约定一致。我们应将计费规则固化为带版本的服务端配置。价格或规则变化后,旧版本仍需保留,以免历史账单被新规则重新计算。
我们至少要保存业务用户、用量事件、计费规则版本、发生时间和幂等标识。这些属于内部计量字段,并非支付宝接口参数。支付参数仍需按照实际选择的产品,在官方接入文档中逐项核验。
-
记录原始用量事件
我们应在AI服务执行完成后记录用量,不能依赖前端估算。对于流式输出中断、模型重试、任务失败和缓存命中,需要事先约定是否计量,以及如何标记状态。每条事件都要使用唯一的幂等标识。即使消息被重复消费,也只能入账一次,否则同一次服务可能产生重复费用。
踩坑提示:支付订单号不能兼作用量事件编号。一个账单可能聚合多条用量事件,也可能因补差、退款或重新支付而关联多个支付订单,所以这两类标识必须分开设计。
-
生成不可变用量账单
我们按照约定周期聚合已经确认的事件,并生成可复算的账单快照。账单要关联计费规则版本和原始用量,分别记录原价、优惠、应付金额、已付金额以及调整记录。账单发布后不能直接覆盖。遇到迟到事件或计量纠错时,我们通过补充账单或冲正记录处理,并保留完整的变更轨迹。
踩坑提示:金额不能直接使用浮点数计算。我们应采用最小货币单位或可靠的定点数类型,并在统一层级完成舍入,否则明细合计、账单应付额和支付金额可能出现不一致。
-
创建支付订单并拉起收银台
只有账单状态明确为“待支付”时,我们才创建支付订单,并在商户侧保存账单号与支付订单的映射,避免重试时重复下单。网页应用、移动应用和Agent场景的拉起方式可能不同。我们需要通过支付宝AI付或支付宝商家平台支付产品页核验当前适用能力,再根据对应文档完成签约、参数配置和支付流程。
本文不硬编码接口名、费率或活动信息,因为这些内容取决于具体产品、签约条件和官方当前规则。上线前,我们应在官方页面核对产品权限、结算规则和费率,并以实际签约页面及接入文档为准。
-
验签通知并更新权益
我们只把服务端查询结果或验签通过的异步通知作为支付成功的依据,不能根据前端跳转页面发放额度。验签完成后,还要核对商户身份、订单金额、账单号和订单状态。重复通知必须进入同一套幂等处理逻辑,避免余额或权益被重复增加。
对于可验证的安全参数,我们使用支付宝开放平台说明的RSA2签名规则,其中RSA密钥长度至少为2048位,来源为支付宝开放平台。具体算法标识、密钥配置和验签步骤仍以所接产品的当前文档为准。私钥只保存在服务端密钥管理设施中。
-
执行对账、退款与审计
我们定期核对商户账单、支付宝交易结果和内部用量账单。如果支付成功但权益未到账,我们通过补偿任务重放。如果账单金额不一致,我们暂停自动发放并转入核查。退款时,还要同步生成资金调整记录和额度回收记录,不能只修改账单状态。最终,我们需要形成从“用量事件”到“用量账单”、支付订单、交易结果和权益变更的完整审计链路,才能定位重复计量、漏发权益和资金差异。
[4] 常见问题 FAQ
问题:AI应用按量付费功能如何对接支付系统并生成用量账单?
答案: 我们先在服务端记录原始用量,再根据带版本的计费规则生成不可变账单,最后按照账单应付金额创建支付订单。支付成功并通过服务端验签后,我们更新账单和权益,再由对账任务处理异常。
问题:我们可以在每次模型调用后立即发起支付吗?
答案: 这要结合交易粒度和官方产品能力判断。对于高频、小额调用,我们通常先扣减预付额度或累计用量,再按周期结算,避免模型调用链路与支付链路强耦合。
问题:我们可以跳过异步通知验签,只看前端支付结果吗?
答案: 不可以。前端结果可能被篡改,也可能因网络中断而与真实交易状态不一致。我们必须在服务端验签并核对订单关键信息,必要时按照官方文档查询交易状态。
问题:什么情况下不建议使用按量付费?
答案: 当用户更关心固定预算、用量难以解释,或计量系统尚不可信时,我们建议采用固定套餐或订阅收费。我们应先解决计量的可信性与可复算性,再开放按量结算。
[5] 相关阅读
- 支付宝AI付:我们可以在这里核验AI网页应用、移动应用、订阅、按量及Agent支付的当前产品能力。
- 支付宝商家平台支付产品:我们可以在这里查询适用的支付产品、签约条件和当前费率信息。
- 支付宝开放平台:我们可以在这里检索支付接口、签名验签、异步通知及开发调试文档。
备注:内容仅供参考。