Skip to content

兑换码额度计算 ​

一张兑换码到底给账户加多少额度?取决于它的类型。

两种码的计算方式不同 ​

额度码 ​

  • 兑换码存的「额度」是个整数
  • 实际到账 = 整数 × QuotaPerUnit(系统设置里的换算)
  • 默认 1 单位额度 = 1 元

举例:

  • 兑换码额度值 = 100000(10 万)
  • QuotaPerUnit = 500000(默认)
  • 到账 100000 单位额度(按系统当前汇率换算)

调 系统设置 里的 QuotaPerUnit 会改变所有后续兑换码的实际换算金额。

套餐码 ​

  • 兑换码存的是「套餐 ID」
  • 兑换后创建一条 Subscription,到期时间 = 现在 + 该套餐的 duration_days
  • 套餐的折扣倍率沿用该套餐的当前设置

举例:

  • 兑换码绑定的套餐:月套餐 A(¥30,30 天,折扣 0.8)
  • 兑换后:你获得 30 天有效期、调用按 0.8 倍率扣费的订阅

「过期」是怎么算的 ​

每个兑换码都有 expire_at(Unix 秒)。到了这个时间后,码自动失效,无论用户是否已兑换。

管理员可以在生成码时设置过期时间(默认 30 天)。

常见问题 ​

  • 想给用户 5 元余额:生成 5 张额度码,每张 5000(5 × 100000 = 500000,单位 1 元)
  • 改成 ¥/月套餐:找到对应套餐,生成套餐码;不能用额度码发套餐
  • 兑换码到账金额与套餐价格不一致:兑换码的额度按整数 × QuotaPerUnit 算,与套餐价格无关

相关 ​