文档

额度、计费与恢复

复用上游计费并补齐跨产品的持久一致性

归档内容,只读,不代表现行方案。现行文档见文档总览。

源码已有与复用范围

固定版本包含原子额度预扣、BillingSession、钱包与订阅资金来源、任务差额结算和退款。客户共享账户由一处管理,不在 Console、Studio 或媒体网关分别扣同一笔消费。

预扣路径使用 Redis Lua 或数据库余额条件更新。原子操作只说明该步骤不可被并发打断,不能据此推导缓存、数据库、任务状态和日志组成一个完整事务。

已确认的对客规则

统一人民币充值、系统内积分;企业首期使用专属账户和协议价,暂不做多人协作。充值套餐和模型消费价格分开设计。详细讨论见人民币充值、积分与客户价格。现有 quota 可继续作为底层执行单位,但人民币分、对客积分及最小扣费单位要明确换算,不能只替换币种文案。

OceanWay 需要定义

事项必须明确
金额与额度单位价格、币种、内部额度的换算、精度和上限
消费归属用户、产品、项目、调用和任务的关联
预扣估算依据、不足时行为、后续补扣限制
最终消费用量来源、价格版本、完成条件
退款和释放失败、取消、提交未知、部分结果各自政策
重复命令持久业务操作 ID、结果重放、冲突响应
对账恢复费用调整成功但任务标记失败时如何继续

WalletFunding.Refund 是非幂等增量;task_billing 中额度调整和任务回写分步完成。新产品的重试与恢复协议需针对这些实际边界设计,不直接添加无限重试。

验收场景

同账户并发接近额度上限;重复请求/回调;资金调整后进程退出;Redis 不可用且存在未落库批量数据;订阅与钱包切换;文本部分输出和媒体任务失败。结果以余额、消费事实、任务和退款可核对为准。

具体性能目标见容量验证。历史账务迁移与新代码基线分开安排,未完成规则前不直接导入旧余额。

多仓实现与商业边界

Core 是新统一平台客户账户、价格、积分、充值、结算的唯一写入方;Edge/产品通过契约请求,不跨库扣费。零售与 FDE 共享已接入目录,绑定不同的价格方案。推荐优先使用有效协议中匹配的价格,未覆盖项目使用该账户明确指定的基础方案;基础方案仍缺价时提示未配置并拒绝调用,不继续隐式回退公共价。不能默认叠乘优惠。固定调用价格版本,渠道切换不直接改变客户售价。

人民币充值,系统内积分;比例、精度、套餐、赠送、到期和具体协议价仍待定。企业首期专属账户、暂无多人协作。零售与 FDE 消费倍率为 1、充值非 1:1;零售迁移需核对 sub2api 历史余额购买力与旧模型价格。模型对接客户在 uumi 充值 1:1、多组多倍率,当前推荐暂留;如未来决定迁移,再单列其余额和协议价核对,不能直接合并数值。FDE 服务费与使用额度建议分项,不把服务费自动记为可消费积分。

new-api 的预扣、订阅和倍率代码可参考,但其内部退款标记不等于跨进程持久幂等。需要验证账务唯一约束、结算响应丢失、并发预留和进程恢复。详见客户价格需求。

On this page