基于席位的计费允许您根据客户需要的用户、团队成员或许可证数量收费。它是团队协作工具、企业软件和B2B SaaS产品的标准定价模型。
Implementation Tutorial
含代码示例的分步指南。
Add-ons Documentation
了解支持基于席位计费的附加系统。
Subscription Management
管理基于席位的订阅和计划变更。
Webhooks
通过订阅webhooks跟踪席位变化。
什么是基于席位的计费?
基于席位的计费(也称为按用户或按席位定价)根据访问产品的用户数量对客户收费。价格随团队规模增长,而不是固定费用。常见使用场景
基于席位定价的好处
对您的业务:- 收入随客户增长自然增加
- 可预测的定价便于客户预算
- 从个人到团队再到企业的明确升级路径
- 随着团队的扩展,更高的用户终生价值
- 仅为使用的部分付费
- 易于理解和预测成本
- 灵活添加/删除用户
- 符合团队规模的公平定价
Dodo Payments中的基于席位的计费如何运作
Dodo Payments使用附加系统来实现基于席位的计费。其工作原理如下:架构概述
团队专业订阅费用为15/月。 例如,如果您的团队需要15个席位:- 基本计划:$99/月(包括5个席位)
- 附加项:10个额外席位 × 150/月
- 总月费用:150 = $249 对于15个席位
关键组件
定价策略
选择适合您业务的基于席位的定价策略:策略1:基础+每席位附加项
在基础计划中包含一定数量的席位,额外席位收费。 示例:策略2:纯按席位定价
每席位收费,无基础费用。 示例:策略3:阶梯式定价
不同的基本计划具有不同的每席位费率。 示例:策略4:席位捆绑
以包形式出售席位,而不是单独出售。 示例:设置基于席位的计费
步骤1:规划您的定价
在实施之前,定义您的定价结构:1
Define Base Plan
决定基础订阅包括哪些内容:
- 基本价格(纯按席位可为$0)
- 所含席位数量
- 此级别可用的功能
2
Set Seat Pricing
确定每席位附加项的成本:
- 每个额外席位的价格
- 任何批量折扣(通过多个附加项)
- 最大允许席位数(如果适用)
3
Consider Billing Frequency
将席位定价与您的计费周期对齐:
- 每月订阅 → 每月席位费
- 每年订阅 → 每年席位费(通常享受折扣)
步骤2:创建席位附加项
在您的Dodo Payments仪表板中:- 转到产品 → 附加项
- 点击创建附加项
- 配置附加项:
步骤3:创建基础订阅
创建您的订阅产品:- 转到产品 → 创建产品
- 选择订阅
- 配置定价和详细信息
- 在附加项部分,附加您的席位附加项
步骤4:将附加项附加到产品
将席位附加项链接到您的订阅:- 编辑您的订阅产品
- 滚动到附加项部分
- 点击添加附加项
- 选择您的席位附加项
- 保存更改
您的订阅产品现在支持基于席位的定价。在结帐时,客户可以购买任意数量的额外席位。
管理席位
向新订阅添加席位
创建结帐会话时,指定席位数量:更改现有订阅的席位数
使用更改计划API 调整席位:移除席位
要减少席位数,指定较低的数量:移除所有附加席位
传递一个空的附加项数组以移除所有附加项:变更席位的按比例分配
当客户在周期中途添加或移除席位时,按比例确定如何收费。拟合模式
拟合示例
场景:剩余15天计费周期,新增5个席位,每席位$10- prorated_immediately
- difference_immediately
- full_immediately
- do_not_bill
变更前预览
在变更前始终预览拟合:使用Webhooks跟踪席位
通过监听订阅webhooks来监控席位变动:相关事件
Webhook处理示例
实施席位限制
您的应用程序必须实施席位限制。Dodo Payments负责计费,但您需要控制访问。实施策略
- Hard Limit
- Soft Limit with Warning
- Auto-Upgrade
严格禁止添加超出席位数的用户。
高级模式
不同的席位类型
提供不同的席位类型并有不同定价:年度席位折扣
提供折扣的年度席位定价:最低席位要求
对某些计划要求最小席位数:最佳实践
定价最佳实践
- 清晰沟通:在您的定价页面上突出显示每席位定价
- 包含席位数:考虑在基础价格中包含几个席位以减少阻力
- 批量折扣:为较大团队提供更低的每席位费率以赢得企业订单
- 年度激励:折扣年度计划以改进现金流和保留
技术最佳实践
- 缓存席位数:在本地缓存订阅席位数以避免每次请求时API调用
- 定期同步:通过API定期与Dodo Payments同步本地席位数
- 处理失败:如果席位变更失败,显示明确的错误信息和重试选项
- 审计跟踪:记录所有席位变更以便于计费争议和合规性
用户体验最佳实践
- 实时反馈:在调整席位时显示即时成本影响
- 确认步骤:在更改计费前要求确认
- 按比例透明:在应用前明确说明按比例费用
- 轻松降级:不要使减少席位变得困难(这能建立信任)
疑难解答
Seat count mismatch between app and billing
Seat count mismatch between app and billing
症状:您的应用显示的席位数与订阅中的不同。原因:
- 未收到或处理webhook
- 席位变更期间的竞争条件
- 缓存数据未更新
- 为
subscription.plan_changed实现webhook处理程序 - 添加一个”同步与计费”按钮以获取当前订阅
- 设置缓存TTL以确保定期刷新
Proration charges unexpected
Proration charges unexpected
症状:客户对周期中期的收费金额感到困惑。原因:
- 未明确传达拟合模式
- 客户在确认前未看到预览
- 在变更前始终使用
previewChangePlan - 显示清晰的细分:“添加X个席位 = 今日$Y(按比例计Z天)”
- 在帮助中心记录您的拟合政策
Add-on not appearing in checkout
Add-on not appearing in checkout
症状:在结帐时席位附加项不可用。原因:
- 附加项未附加到产品
- 附加项已存档或删除
- 产品和附加项的货币不匹配
- 验证附加项是否附加在产品设置中
- 检查附加项在附加项仪表板中的状态
- 确保货币完全匹配
Cannot reduce seats below current usage
Cannot reduce seats below current usage
症状:客户希望减少席位但分配有用户。解决方案:
- 显示在减少席位前必须移除的用户
- 实现工作流程:移除用户 → 减少席位
- 考虑在执行席位减少前给予宽限期
相关文档
Seat-Based Pricing Tutorial
完整的实施指南与代码示例。
Add-ons
深入了解附加系统。
Plan Changes & Proration
处理订阅修改。
Subscription Webhooks
跟踪订阅事件。