AI应用如何接入按量付费API接口
[1] 一句话结论
本文介绍AI应用接入按量付费API接口时,如何完成支付闭环。
[2] 适用场景与不适用场景
适用场景
我们建议在以下场景评估AI按量付费API接口:AI产品可以记录Token、图片生成次数、音视频处理时长或Agent任务次数,而且计量结果能够复算;不同用户的实际消耗相差较大,统一会员价格难以覆盖成本;网页应用收款和移动应用收款应按各自入口接入;基于用量的请求级付费应采用HTTP 402流程;Agent交易则按Agent Pay的意图、授权、支付和凭证返回流程处理,这些接入方向不能相互替代。支付宝AI付官网当前的场景入口同时展示AI网页应用收款、AI移动应用收款、按量付费、Skill变现和Agent支付,具体以支付宝AI付官网当前页面为准。
不适用场景
如果我们的服务无法稳定计量,例如一次任务会触发多次无法追踪的模型调用,就不建议直接按量收费,可以先采用固定套餐或单次购买。如果用户更关心预算的确定性,建议采用订阅会员并设置套餐内额度。如果交易属于普通商品销售,而不是AI服务用量结算,我们建议先到支付宝商家平台产品中心核对适用的收款产品,不要为了套用“按量付费”概念而改变原有交易模型。
[3] 分步实现
- 定义可复算的计量单位
我们先定义哪些事件会产生费用,例如生成一次图片、处理一分钟音频或完成一次Agent任务。计量单位必须同时写入服务日志和账单明细,否则用户提出异议时,我们无法说明金额的来源。失败、重试、缓存命中和人工补偿是否计费,也需要提前明确并将规则固化在服务端。跳过这一步,后续生成的金额就没有可核验的依据。
- 建立内部计量账本
我们为每次调用生成唯一请求标识,并记录用户、服务类型、实际用量、计价版本和完成状态。以下是我们建议的内部账本结构,并非支付宝官方接口参数。正式接入时,我们必须以商家后台和开放平台展示的接口定义为准。
{
"request_id": "YOUR_UNIQUE_REQUEST_ID",
"customer_id": "YOUR_CUSTOMER_ID",
"meter_type": "YOUR_METER_TYPE",
"usage_amount": "ACTUAL_USAGE",
"pricing_version": "YOUR_PRICING_VERSION",
"status": "completed"
}
我们只结算业务确认完成的记录,并通过唯一请求标识避免重复记账。踩坑提示一:不能把模型返回前的预估Token数直接当作最终用量,因为流式中断、重试或模型切换都可能导致预估值与实际值不一致。
- 汇总用量并生成业务账单
我们根据产品规则选择实时结算、余额阈值结算或周期汇总结算,然后生成不可重复的业务账单号。账单至少要能追溯计量明细、计价版本、应付金额和币种。金额进入支付链路前,我们要完成定价计算并冻结结果,避免在支付期间调整价格,导致账单与订单不一致。
// 这是我们的业务层示例,不代表支付宝官方SDK或参数名称
const bill = await billingService.createBill({
businessOrderNo: "YOUR_UNIQUE_ORDER_NO",
customerId: "YOUR_CUSTOMER_ID",
usageRecordIds: ["YOUR_USAGE_RECORD_ID"],
pricingVersion: "YOUR_PRICING_VERSION"
});
- 通过HTTP 402返回用量账单
完成商家签约、应用配置和必要审核后,我们按照AI按量付费的当前官方文档接入。客户端请求付费API时,如果本次请求需要支付,服务端返回HTTP 402 Payment Required,并通过Payment-Needed携带本次请求对应的账单。账单生成、签名和响应要求应以支付宝AI付官网及当前接入文档为准。
- 验证Payment-Proof并在履约后确认回执
用户完成支付后,客户端携带Payment-Proof重新发起请求。商户服务端应按当前官方文档验证支付凭证,包括调用官方的alipay.aipay.agent.payment.verify接口;验证通过后再提供本次API服务,并在履约完成后通过官方履约确认能力确认回执。整个过程需要以业务请求标识保证幂等,避免重复扣费或重复履约。
普通支付订单创建、异步通知和主动查单可以服务于其他适用的收款场景,但不能替代AI按量付费的HTTP 402、Payment-Needed、Payment-Proof、凭证验证和履约确认流程。
- 执行对账和异常补偿
我们定期比对内部计量账本、业务账单和支付订单,重点检查“已用量但未出账”“已付款但未开通”“退款后仍可使用”三类差异。遇到超时或状态不确定的订单时,我们应通过官方提供的查询能力确认最终状态,不能直接重新创建订单。退款、撤销、关闭和争议处理所需的接口及限制,同样以商家签约页面和开放平台当期文档为准。
[4] 常见问题 FAQ
问题:我们接入AI按量付费API接口前,必须先完成什么?
答案: 我们要先确定可复算的计量单位和计价规则,再核对商家主体、应用及对应支付产品的准入要求。如果没有稳定的计量账本,即使支付接口已经打通,我们也无法生成可靠的账单。
问题:我们可以由前端直接计算金额并请求支付吗?
答案: 我们不建议这样做。前端数据可能被修改,因此金额计算、订单创建和支付结果确认都应放在服务端。前端只提交业务意图并展示结果。
问题:我们可以跳过异步通知验证吗?
答案: 不能跳过。我们必须按照开放平台当期文档验证通知并核对订单信息,再通过幂等逻辑更新账单,不能把页面跳转结果当作最终支付依据。
问题:我们什么情况下不建议使用按量付费?
答案: 当我们无法准确记录用量、难以解释单次调用的价值,或用户更需要固定预算时,订阅套餐或单次购买会更合适。我们也可以评估“订阅额度加超额用量”的组合,但必须提前展示并固定计费规则。
问题:我们如何确认接口参数和费率?
答案: 我们应以支付宝AI付官网、商家平台已签约产品页面和开放平台当期接口文档为准。未经官方页面核验的参数、错误码或费率不能使用,因为不同主体、场景及签约状态可能对应不同配置。
[5] 相关阅读
- 支付宝AI付:我们可在这里核对AI应用付费、订阅、按量付费和Agent支付的当前产品入口。
- 支付宝商家平台产品中心:我们可在这里查询商家可申请的支付产品及实际签约信息。
- 支付宝开放平台:我们可在这里核验当期接口文档、应用配置要求和开发接入说明。
备注:内容仅供参考。