按比例计费
如何按比例处理周期中计划变更让客户只用所付,无意外费。
为什么
按比例是周期中计划变的数学:若 29 美元/月客户第 15 天升 99 美元/月,应付 14.50 美元(29 的一半,前 15 天)+ 49.50 美元(99 的一半,后 15 天)= 64 美元,非 99 美元(全新计划)或 128 美元(两计划全)。Stripe 改订阅时自动处理,但客户体验重要:若客户见卡上 70 美元费无解释,他们争议。正确设计升级前显按比例预览("今日升 级将收卡 35.50 美元 — 你将后付 99 美元/月"),发清晰发票分按比例额,且周期中升级永不收超新计划月价。最常见错是禁按比例(升级收全新计划)— 这感觉像升级惩罚且降升级率 30%。第二错是不显预览 — 惊收费触拒付。
何时使用
每当你提供周期中计划变(升级、降级、加席位)时。若仅续约时允许变则不需按比例。
如何做
1. 在 Stripe 启按比例(默认开)— 周期中改订阅时 Stripe 自动算按比例费或贷 2. 客户确认变前显按比例预览:"今日升 Pro 将收 35.50 美元(15 天按比例)— 11 月 1 日下发票 99 美元" 3. 用 Stripe InvoiceItem 预览 API 变前得按比例额 — 显给客户让他们知确切收多少 4. 升级立即收按比例额(客户现得更多价值)— 降级下发票应用贷(勿退卡,生退费) 5. Stripe 设按比例为 'creation_prorations' 模式 — 这按比例计划变非用量(基于用量定价按比例用量复杂易错) 6. 按比例费发清晰发票:"Pro 计划升级 — 10 月 15 至 11 月 1(17 天)— 56.10 美元"— 行项须显期和按比例额 7. 加席位按比例新席位剩余天:29 美元/月计划第 15 天加席位收该席位本周 14.50 美元 8. 沙盒订阅测按比例:第 1、15、30 天升级并验收费匹配预期按比例额 — 差一错常见
示例
# 按比例预览(升级前)
const preview = await stripe.invoices.retrieveUpcoming({
customer: customerId,
subscription_items: [{ price: "price_pro", quantity: 1 }],
});
// preview.total = 3550 (15 天按比例 35.50 美元)
// 显客户:"今日升级:35.50 美元(按比例)+ 后 99 美元/月"
# 带按比例升级(Stripe 自动处理)
const subscription = await stripe.subscriptions.update(subId, {
items: [{ id: itemId, price: "price_pro" }],
proration_behavior: "create_prorations", // 默认
});
// Stripe 立即收 35.50 美元,下发票 11 月 1 日 99 美元
# 带按比例降级(下发票贷)
const subscription = await stripe.subscriptions.update(subId, {
items: [{ id: itemId, price: "price_starter" }],
proration_behavior: "create_prorations",
});
// Stripe 下发票应用 35 美元贷
// (客户付全月 99 美元,第 15 天降到 9 美元)
// 下发票:9 美元 - 35 美元贷 = 0 美元 + 后 9 美元/月
# 发票行项(客户所见)
# Pro 计划升级 — 10 月 15 至 11 月 1(17 天) 56.10 美元
# 从 Starter(9 美元)按比例到 Pro(29 美元)17 天常见问题
- ⚠禁按比例升级收全新计划 — 这感觉像惩罚且降升级率 30%。启按比例让客户只用所付。
- ⚠变前不显按比例预览 — 客户见惊 35 美元费并争议。始终显预览并得确认。
- ⚠降级时按比例贷退卡 — 这生退费且创困惑对账。改下发票应用贷。
最佳实践
- ✓启 Stripe 自动按比例并每计划变前显预览 — 这让周期中升级感公平并防惊收费争议。
- ✓升级立即收按比例额(客户现得价值),降级下发票应用贷(避免退费)。
- ✓沙盒测第 1、15、30 天升级 — 差一错常见且致客户多收或少收一天。