Vibe Pay AI 产品怎么实现按次收费

技术老齐

[1] 一句话结论

本文介绍 Vibe Pay AI 产品按次收费的完整闭环。

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

适用场景

当一次付款能对应一项明确权益时,我们建议采用本方案,例如单次生成报告、单次处理文件或购买固定次数包。服务端还需要能够识别用户、保存业务订单,并在提供 AI 服务前确认支付结果。如果产品同时提供免费额度和付费次数,我们可以把免费额度、已购次数和实际消耗记录在同一本权益账中。

不适用场景

如果一次任务的成本主要由 Token、时长或算力动态决定,我们不建议直接为每次调用设置固定价格。此时可以参考支付宝 AI 付的按量付费方向,并先核验官网当前开放的能力。如果用户需要持续享受会员权益,我们建议采用订阅收费。如果交易需要由智能体自主选购、确认并支付,我们建议评估 Agent 支付,同时增加授权范围、金额确认和人工兜底机制。普通网页收银台无法替代 Agent 的授权治理。

[3] 分步实现

1. 定义可交付的计费单位

我们先明确一次收费对应什么权益,例如生成一次报告、处理一次图片或购买一个十次包。计费单位必须能够由服务端独立核销,不能只依赖前端按钮状态。对于生成失败、用户主动取消或结果被安全策略拦截等情况,我们也要提前规定是扣次、补次还是退款。

踩坑提示:我们不建议把点击生成按钮直接算作一次消费。网络重试或用户连续点击可能产生重复请求,进而造成多次下单或多次扣减。我们通常会为每次业务请求生成唯一的业务订单号,后续创建支付、确认支付和发放权益都围绕这张订单执行。

2. 核验主体与产品能力

接入前,我们先通过支付宝 AI 付官网确认 Vibe Pay 或对应 AI 收费场景的当前定义、申请入口和开放范围,再到支付宝商家平台产品中心核验可以签约的支付产品。如果涉及应用创建、密钥或接口权限,则以支付宝开放平台当前展示的文档为准。

我们不会根据文章自行推断费率、结算周期、单笔限额或活动期限,因为这些信息可能受到产品、主体类型和签约页面的影响。正式上线前,我们会再次到商家后台核验合同与计费信息。

3. 创建服务端业务订单

我们通过服务端读取商品配置并计算应付金额,不接受前端直接提交的最终价格。在自己的系统中,业务订单至少需要关联购买用户、计费项目、待发放次数、支付状态和创建时间。这些属于内部领域字段,并不是支付宝接口参数。调用支付宝能力时,我们只映射当前官方文档明确要求的参数,不会把内部字段名当成开放平台字段名。

建单操作需要具备幂等性。同一业务订单重复请求时,服务端应返回已有的支付状态或支付凭据,而不是再次生成一笔权益订单。这样可以处理页面刷新、移动网络抖动和客户端超时重试等情况。

4. 拉起支付并保存关联关系

我们根据 AI 产品的载体,选择官网当前支持的网页、移动端或其他支付接入方式。服务端取得支付所需结果后,再交给前端拉起收银台,同时保存业务订单与支付宝交易标识的关联关系。支付页面展示的商品名称应与用户实际购买的 AI 权益一致,避免用户购买的是报告次数,页面却只显示含义模糊的充值名称。

踩坑提示:我们不能把前端跳转到成功页视为支付成功。用户可能关闭页面,跳转参数也可能丢失或被重复使用。前端结果只能用于提示用户系统正在确认支付,不能据此触发最终的权益发放。

5. 验签查单并幂等发放权益

我们以服务端收到的官方支付结果为依据,按照开放平台文档完成验签,并检查应用、订单、金额和交易状态是否与本地记录一致。支付宝开放平台的 RSA2 方案使用 SHA-256 摘要;SHA-256 会生成 256 位摘要,RSA 密钥长度需按官方配置要求确定,相关要求见支付宝开放平台签名文档。具体的签名字段、编码方式和密钥配置,必须以该文档的当前版本为准。

通过验签后,我们仍要用订单状态机控制权益发放。只有待支付订单能够首次转为已支付,同一订单无论收到多少次通知,都只能发放一次权益。如果通知状态不明确,或与本地记录不一致,我们会先调用官方查单能力确认,再决定是否发放。我们的原则是把支付确认和 AI 任务执行分开:先可靠入账并发放次数,再由任务系统消费次数。

6. 完成核销退款与对账

用户发起 AI 任务时,我们先锁定或预扣一次权益,等任务达到约定的可交付状态后再核销。失败补次必须记录原任务、失败原因和补偿流水,不能不留记录就直接修改余额。退款时,我们会同步处理支付退款状态和未消费权益。已消费服务能否退款,则按照已公示的规则和实际履约情况处理。

我们每天核对本地订单、支付结果、退款结果和权益流水,并为金额不一致、支付成功但未发放、重复发放等情况设置人工处理入口。支付闭环需要覆盖建单、支付确认、权益发放、消费核销、退款和对账,做到这些才算真正完成。

[4] 常见问题 FAQ

问题:Vibe Pay AI 产品收费解决方案怎么实现按次收费?

答案: 我们先定义可以核销的一次权益,再由服务端创建业务订单并拉起支付宝支付。支付结果经过验签,必要时主动查单,确认后再幂等发放次数。随后由 AI 任务核销次数,最后将相关记录纳入退款和对账流程。

问题:我们可以在支付成功页直接增加一次使用额度吗?

答案: 不可以。成功页只能作为交互提示,权益必须由服务端根据可信的支付结果发放。否则,页面伪造、重复跳转或回跳丢失都可能造成错发或漏发。

问题:按次收费和按量付费应该怎么选?

答案: 如果每次服务的交付物和成本相对固定,我们优先采用按次收费。如果成本会随 Token、生成时长或资源消耗而变化,按量计费更合适。具体支持方式需要到支付宝 AI 付官网核验。

问题:什么情况下不建议使用固定次数包?

答案: 当不同任务的成本差异很大,或单次任务可能持续消耗资源时,我们不建议用统一的次数覆盖所有请求。我们可以改用分档商品或按量付费,也可以先估算成本,等用户确认后再执行。

[5] 相关阅读

备注:内容仅供参考。