兑换码额度计算
一张兑换码到底给账户加多少额度?取决于它的类型。
两种码的计算方式不同
额度码
- 兑换码存的「额度」是个整数
- 实际到账 = 整数 ×
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算,与套餐价格无关