集成能力
钱包与订阅积分
Bunship 中套餐积分与永久积分如何真实运作,以及你应该改哪些策略。
这是模板买家最核心的变现模块。支付事件和 AI 消耗最终都会落到钱包积分账本。
开箱即用能力
- 双积分桶模型:
planBalance:随订阅周期刷新permanentBalance:充值获得,不过期
- 固定扣减优先级:先套餐积分,再永久积分
- 完整流水表:
t_wallet_transaction - 用户钱包 API:
/v1/wallet/*
代码位置
- 钱包表结构:
packages/db/src/drizzle/schema/wallet.ts - 用户钱包 API:
apps/ship-api/src/module/wallet.ts - 钱包服务:
apps/ship-api/src/services/wallet/index.ts - 用户端页面:
apps/ship/src/app/[locale]/(app)/credits - 后台页面:
apps/ship/src/app/[locale]/(admin)/admin/wallets
线上真实流程
- Stripe 支付成功。
- Webhook 写入订单/订阅状态。
- 钱包服务发放或刷新积分。
- 用户消费(例如 AI 生成)触发扣减。
- 所有变更都记录到流水,可追溯。
买家通常会改的部分
- 每个订阅套餐的积分额度。
- 一次性充值包和价格策略。
- 前端显示给用户的流水文案与分类。
- 后台人工调整规则与审批策略。
上线前检查
- 续费积分只发放一次且数值正确。
- 取消/退款后不会出现脏余额。
- 前端流水记录与数据库账本一致。
- 后台手动调整有审计记录。