BunshipBunship
集成能力

钱包与订阅积分

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

线上真实流程

  1. Stripe 支付成功。
  2. Webhook 写入订单/订阅状态。
  3. 钱包服务发放或刷新积分。
  4. 用户消费(例如 AI 生成)触发扣减。
  5. 所有变更都记录到流水,可追溯。

买家通常会改的部分

  1. 每个订阅套餐的积分额度。
  2. 一次性充值包和价格策略。
  3. 前端显示给用户的流水文案与分类。
  4. 后台人工调整规则与审批策略。

上线前检查

  1. 续费积分只发放一次且数值正确。
  2. 取消/退款后不会出现脏余额。
  3. 前端流水记录与数据库账本一致。
  4. 后台手动调整有审计记录。

Next Steps