跳转到主要内容
附加组件是可以附加到您的主要订阅产品上的额外产品,使灵活的定价模型和增强的客户体验成为可能。无论您需要基于座位的计费、功能升级还是自定义定价结构,附加组件都能让您创建复杂的订阅产品。

什么是附加组件?

附加组件是客户可以与其主要订阅一起购买的补充产品。它们非常适合:
  • 基于座位的计费:额外的团队成员、用户许可证或并发用户
  • 功能升级:高级功能、高级分析或优先支持
  • 使用扩展:额外存储、API 调用或带宽配额
  • 服务附加组件:专业服务、培训或咨询小时
附加组件在仪表板中附加到订阅产品

主要好处

  • 灵活的定价模型:提供基础计划和可选附加组件,以创建复杂的定价结构。您可以通过随着客户需求变化而增长的升级来满足不同的客户群体。
  • 收入优化:通过展示相关的附加组件来提高每用户平均收入(ARPU)。这使得客户随着时间的推移添加功能时自然产生追加销售机会。
  • 简化管理:从一个仪表板管理所有定价组件。附加组件会自动包含在结账会话和订阅管理中。
  • 客户选择:允许客户通过仅选择他们需要的附加组件来定制他们的订阅,从而提高满意度并减少流失率。

创建附加组件

附加组件作为您 Dodo Payments 仪表板中的单独产品创建,然后附加到您的主要订阅产品。这种分离使您能够:
  • 在多个订阅产品中重用附加组件
  • 独立管理定价
  • 单独跟踪附加组件的性能
  • 更新附加组件而不影响基础订阅
在仪表板界面中创建附加组件

附加组件配置

在创建附加组件时,您可以配置:
  • 定价:为附加组件设置一次性或定期定价
  • 计费周期:与您的订阅计费匹配或使用不同的周期
  • 数量限制:为每个客户设置最小和最大数量
  • 可用性:控制哪些订阅产品可以使用该附加组件
  • 税务设置:配置适当的税务类别

开始使用

准备在您的订阅业务中实施附加组件吗?以下是开始的步骤:
1

规划您的附加组件

确定哪些额外的功能、服务或容量将作为附加组件使您的客户受益。考虑:
  • 客户经常请求什么?
  • 哪些功能可以单独货币化?
  • 什么会创造自然的升级路径?
2

创建您的第一个附加组件

使用 Dodo Payments 仪表板或 API 创建您的第一个附加组件产品。

仪表板指南

按照我们的逐步指南在仪表板中创建附加组件。
3

附加到订阅

将您的附加组件连接到适当的订阅产品,以便它们可以使用。
4

测试集成

创建不同附加组件组合的测试结账会话,以确保一切正常工作。
5

监控性能

跟踪附加组件的采用率和收入影响,以优化您的定价策略。

API 管理

Dodo Payments 提供了一个全面的 API,用于以编程方式管理附加组件:
使用 POST /addons 端点创建具有自定义定价、描述和配置选项的新附加组件。

API 参考

查看创建附加组件的完整 API 文档。
使用 PATCH /addons/{id} 端点修改现有附加组件,以更新定价、描述或可用性。

API 参考

了解如何以编程方式更新附加组件的详细信息。
使用 GET /addons 列出所有附加组件或 GET /addons/{id} 检索特定附加组件的详细信息。

API 参考

访问完整的列出和检索 API 文档。
使用 PUT /addons/{id}/images 端点更新附加组件图像,以便更好地展示产品。

API 参考

了解如何通过 API 管理附加组件图像。

常见用例

  • 基于座位的计费:额外的团队成员、用户许可证或并发用户
  • 功能升级:高级功能、高级分析或优先支持
  • 使用扩展:额外存储、API 调用或带宽配额
  • 服务附加组件:专业服务、培训或咨询小时

集成示例

带附加组件的结账会话

在创建结账会话时,您可以包括具有自定义数量的附加组件:
const session = await client.checkoutSessions.create({
  product_cart: [
    {
      product_id: 'your_subscription_id',
      quantity: 1,
      addons: [
        {
          addon_id: 'your_addon_id',
          quantity: 3 // 3 additional seats
        }
      ]
    }
  ],
  // ... other checkout options
});

带附加组件的计划变更

修改现有订阅以添加、删除或更新附加组件:
// Add add-ons to existing subscription
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_new',
  quantity: 1,
  proration_billing_mode: 'difference_immediately',
  addons: [
    { addon_id: 'addon_123', quantity: 2 }
  ]
});

// Remove all existing add-ons
await client.subscriptions.changePlan('sub_123', {
  product_id: 'prod_new',
  quantity: 1,
  proration_billing_mode: 'difference_immediately',
  addons: [] // Empty array removes all existing add-ons
});

动态定价

根据附加组件选择动态计算总成本:
function calculateTotalCost(basePrice: number, addons: AddonSelection[]) {
  const addonTotal = addons.reduce((sum, addon) => 
    sum + (addon.price * addon.quantity), 0
  );
  return basePrice + addonTotal;
}

最佳实践

  • 从简单开始:以 2-3 个核心附加组件启动,并根据客户反馈和使用情况扩展选项。
  • 保持定价清晰:清楚地传达附加组件的定价和价值,以便客户了解他们为额外费用所获得的内容。
  • 彻底测试:验证附加组件组合,以确保定价计算保持准确,结账流程顺畅。

设计考虑

  • 清晰的价值主张:每个附加组件都应具有客户可以轻松理解的明确好处
  • 逻辑分组:在您的结账流程中将相关附加组件分组
  • 灵活的数量:允许客户根据需要调整附加组件的数量
  • 透明的定价:在整个结账过程中清晰显示总成本
附加组件是创建灵活、可扩展的定价模型的强大方式,能够随着您的客户增长而发展。从简单的用例开始,并在了解什么最适合您的业务和客户后进行扩展。