> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# サブスクリプション用アドオン

> 座席ベースの請求、機能アップグレード、クリエイティブな価格モデルのための柔軟なアドオンで、サブスクリプション製品を強化します

<Info>
  アドオンは、メインのサブスクリプション製品に追加できる補完的な製品であり、柔軟な価格モデルと向上した顧客体験を実現します。席単位の請求、機能のアップグレード、またはカスタム価格構成が必要な場合でも、アドオンを活用することで洗練されたサブスクリプション提供が可能になります。
</Info>

<CardGroup cols={2}>
  <Card title="Seat-Based Billing" icon="users" href="/developer-resources/seat-based-pricing">
    席単位の価格設定で追加のチーム席、ユーザーライセンス、または容量のアップグレード用のアドオンを作成します。
  </Card>

  <Card title="Usage Extensions" icon="bolt" href="/features/usage-based-billing/introduction">
    柔軟なアドオン料金で使用制限、API コール、またはデータ許容量を拡張します。
  </Card>
</CardGroup>

## アドオンとは？

アドオンは、顧客がメインのサブスクリプションと一緒に購入できる補足的な製品です。以下に最適です：

* **席数ベースの課金**：追加のチームメンバー、ユーザーライセンス、または同時ユーザー数
* **機能アップグレード**：プレミアム機能、高度な分析、または優先サポート
* **使用量の拡張**：追加ストレージ、APIコール、または帯域幅の割当
* **サービスアドオン**：プロフェッショナルサービス、トレーニング、または相談時間

<Frame>
  <img src="https://mintcdn.com/dodopayments/ajOhO6Du1yNsg0hy/images/cookbooks/seat-based/seat-based-addons.png?fit=max&auto=format&n=ajOhO6Du1yNsg0hy&q=85&s=ea4ce0d437201c92590eea6c31a14e80" alt="ダッシュボード内のサブスクリプション製品に付属するアドオン" style={{ maxHeight: '500px', width: 'auto' }} width="2338" height="1196" data-path="images/cookbooks/seat-based/seat-based-addons.png" />
</Frame>

## 主なメリット

* **柔軟な料金モデル**：ベースプランに任意のアドオンを組み合わせて高度な料金体系を構築できます。顧客のニーズの変化に合わせてアップグレードを提供し、さまざまなセグメントに対応できます。
* **収益の最適化**：関連性の高いアドオンを提示することで、ユーザーあたり平均収益（ARPU）を向上させられます。顧客が時間とともに機能を追加する際に自然なアップセルの機会を創出します。
* **管理の簡素化**：すべての料金コンポーネントを1つのダッシュボードで管理します。アドオンはチェックアウトセッションとサブスクリプション管理の両方に自動的に含まれます。
* **顧客の選択肢**：顧客が必要なアドオンだけを選択してサブスクリプションをカスタマイズできるようにし、満足度を高め、解約率を下げます。

## アドオンの作成

アドオンはDodo Paymentsのダッシュボードで別途製品として作成し、メインのサブスクリプション製品に接続します。この分離により以下が可能になります：

* 複数のサブスクリプション製品でアドオンを再利用
* 価格設定を独立して管理
* アドオンのパフォーマンスを個別に追跡
* ベースサブスクリプションに影響を与えずにアドオンを更新

<Frame>
  <img src="https://mintcdn.com/dodopayments/ajOhO6Du1yNsg0hy/images/cookbooks/seat-based/seat-based-addons-creation.png?fit=max&auto=format&n=ajOhO6Du1yNsg0hy&q=85&s=d2c17b4a9f2f9a1b19f537f0507656a4" alt="ダッシュボードインターフェースでのアドオン作成" style={{ maxHeight: '500px', width: 'auto' }} width="2348" height="1606" data-path="images/cookbooks/seat-based/seat-based-addons-creation.png" />
</Frame>

### アドオンの構成

アドオンを作成する際に構成できる項目：

* **価格設定**：アドオンの一回限りまたは定期課金の価格を設定
* **請求サイクル**：サブスクリプションの請求サイクルと一致させる必要があります
* **数量制限**：顧客毎の最小・最大数量を設定
* **利用可能性**：どのサブスクリプション製品がアドオンを利用できるかを制御
* **税設定**：適切な税カテゴリを構成

### はじめに

サブスクリプションビジネスでアドオンを導入する準備はできましたか？以下のステップで始めましょう：

<Steps>
  <Step title="Plan Your Add-ons">
    顧客に利益をもたらす追加機能、サービス、容量をアドオンとして特定します。

    次を検討してください：

    * 顧客が頻繁にリクエストするものは？
    * 別料金で収益化できる機能は？
    * 自然なアップグレードパスを生み出せるものは？
  </Step>

  <Step title="Create Your First Add-on">
    Dodo PaymentsダッシュボードまたはAPIを使用して最初のアドオン製品を作成します。

    <Card title="Dashboard Guide" icon="box" href="/developer-resources/seat-based-pricing">
      ダッシュボードでアドオンを作成する手順に従ってください。
    </Card>
  </Step>

  <Step title="Attach to Subscriptions">
    アドオンを利用できる適切なサブスクリプション製品に接続します。
  </Step>

  <Step title="Test Integration">
    さまざまなアドオンの組み合わせでテスト用チェックアウトセッションを作成し、すべてが正しく機能することを確認します。
  </Step>

  <Step title="Monitor Performance">
    アドオンの導入率と収益への影響を追跡し、価格戦略を最適化します。
  </Step>
</Steps>

## API管理

Dodo Paymentsはアドオンをプログラム的に管理するための包括的なAPIを提供します：

<AccordionGroup>
  <Accordion title="Create Add-ons">
    `POST /addons`エンドポイントを使用して、カスタム価格、説明、構成オプション付きの新しいアドオンを作成します。

    <Card title="API Reference" icon="code" href="/api-reference/addons/create-addon">
      アドオン作成の完全なAPIドキュメントを参照してください。
    </Card>
  </Accordion>

  <Accordion title="Update Add-ons">
    `PATCH /addons/{id}`エンドポイントを使用して既存のアドオンの価格、説明、利用可能性を更新します。

    <Card title="API Reference" icon="code" href="/api-reference/addons/update-addon">
      アドオン詳細をプログラム的に更新する方法を学びます。
    </Card>
  </Accordion>

  <Accordion title="List and Retrieve">
    `GET /addons`を使用してすべてのアドオンを一覧表示するか、`GET /addons/{id}`を使用して特定のアドオン詳細を取得します。

    <Card title="API Reference" icon="code" href="/api-reference/addons/list-addons">
      完全な一覧表示および取得APIドキュメントにアクセスします。
    </Card>
  </Accordion>

  <Accordion title="Image Management">
    `PUT /addons/{id}/images`エンドポイントを使用して、アドオンの画像を更新し、製品プレゼンテーションを向上させます。

    <Card title="API Reference" icon="code" href="/api-reference/addons/update-addon-images">
      API経由でアドオン画像を管理する方法を学びます。
    </Card>
  </Accordion>
</AccordionGroup>

## 一般的なユースケース

* **席数ベースの課金**：追加のチームメンバー、ユーザーライセンス、または同時ユーザー数
* **機能アップグレード**：プレミアム機能、高度な分析、または優先サポート
* **使用量の拡張**：追加ストレージ、APIコール、または帯域幅の割当
* **サービスアドオン**：プロフェッショナルサービス、トレーニング、または相談時間

## 統合例

### アドオン付きチェックアウトセッション

チェックアウトセッションを作成する際に、カスタム数量のアドオンを含めることができます：

```typescript theme={null}
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
});
```

<Tip>
  顧客がチェックアウトページで自分でアドオンを追加または削除できるようにするには、セッションを作成する際に[この機能フラグ](/developer-resources/checkout-session#optional-fields)を`true`に設定します。デフォルトは`false`で、サブスクリプション製品にのみ適用されます。

  ```typescript theme={null}
  const session = await client.checkoutSessions.create({
    product_cart: [{ product_id: 'your_subscription_id', quantity: 1 }],
    feature_flags: {
      allow_editing_addons: true // customers can edit add-ons at checkout
    },
  });
  ```
</Tip>

### アドオン付きプラン変更

既存のサブスクリプションを修正して、アドオンを追加、削除、または更新します。

```typescript theme={null}
// 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
});
```

### 動的価格設定

アドオンの選択に基づいて総コストを動的に計算します。

```typescript theme={null}
function calculateTotalCost(basePrice: number, addons: AddonSelection[]) {
  const addonTotal = addons.reduce((sum, addon) => 
    sum + (addon.price * addon.quantity), 0
  );
  return basePrice + addonTotal;
}
```

## ベストプラクティス

* **シンプルに始める**: 2〜3つのコアアドオンで開始し、顧客のフィードバックと使用状況に基づいてオプションを拡大します。
* **価格の明確さを維持する**: アドオンの価格と価値を明確に伝え、追加費用に対する理解を促します。
* **徹底的にテストする**: アドオンの組み合わせを検証し、価格計算が正確であることと、チェックアウトフローが円滑に機能することを確認します。

### デザイン考慮事項

* **明確な価値提案**: 各アドオンには顧客が容易に理解できる明確な利点があるべきです。
* **論理的なグループ化**: 関連するアドオンをチェックアウトフローでまとめます。
* **柔軟な数量**: 顧客が必要に応じてアドオンの数量を調整できるようにします。
* **透明な価格設定**: チェックアウトプロセス全体で総コストを明確に表示します。

<Info>
  アドオンは、顧客とともに成長する柔軟でスケーラブルな価格モデルを作成するための強力な手段です。シンプルなユースケースから始めて、ビジネスと顧客に最適な方法を学びながら拡大しましょう。
</Info>
