> ## 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.

# v1.81.0（2026年2月6日）

> サードパーティの分析、チェックアウトテーマのカスタマイズ、支払い失敗時のプラン変更防止、残高元帳 API

## 新機能

### 1. **サードパーティ分析のサポート**

Google Analytics 4、Google Tag Manager、Meta Pixel を使用して、ストアフロント、チェックアウト、カスタマーポータル全体で顧客の行動をトラッキングできます。**設定 → 分析**にトラッキング ID を追加すると、e コマースイベントの収集が開始されます。

**サポート対象プラットフォーム**

| Platform           | ID Format              |
| ------------------ | ---------------------- |
| Google Analytics 4 | `G-XXXXXXXXXX`         |
| Google Tag Manager | `GTM-XXXXXXX`          |
| Meta Pixel         | Numeric (10-20 digits) |

**トラッキングされるイベント**

`purchase`、`add_payment_info`、`view_item`、`view_item_list` などのイベントは、顧客が閲覧や購入を完了する際に自動的に分析プラットフォームへ送信されます。

<Check>
  Storefront、ホスト型チェックアウト、重ね合わせ/インラインチェックアウト、およびカスタマーポータルでサポートされています。
</Check>

詳細: [Third-Party Analytics](/features/analytics)

### 2. **チェックアウトテーマのカスタマイズ**

チェックアウトセッションを作成する際に `customization.theme_config` パラメーターを使用して外観をカスタマイズできます。ライトモードとダークモードの両方について、色、フォント、ボーダー半径、ボタンのテキストを設定できます。

**設定オプション**

| Property           | Description                    |
| ------------------ | ------------------------------ |
| `light` / `dark`   | 各モードのカラースキーム                   |
| `font_primary_url` | カスタムフォントの URL                  |
| `font_size`        | `xs`、`sm`、`md`、`lg`、`xl`、`2xl` |
| `radius`           | ボーダー半径（例: `8px`）               |
| `pay_button_text`  | カスタムボタンテキスト                    |

```typescript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_123', quantity: 1 }],
  customization: {
    theme_config: {
      radius: '8px',
      pay_button_text: 'Complete Purchase',
      light: { button_primary: '#0066ff', text_primary: '#1a1a1a' },
      dark: { button_primary: '#3385ff', text_primary: '#ffffff' }
    }
  },
  return_url: 'https://yoursite.com/return'
});
```

詳細: [Checkout Theme Customization](/features/checkout#checkout-theme-customization)

### 3. **支払い失敗時のプラン変更防止**

サブスクリプションプラン変更時の動作を制御する新しい `on_payment_failure` パラメーターが追加されました。

| Mode             | Behavior                     |
| ---------------- | ---------------------------- |
| `prevent_change` | 支払いが成功するまで現在のプランを維持          |
| `apply_change`   | 支払い結果に関わらず即時にプラン変更を適用（デフォルト） |

```typescript theme={null}
await client.subscriptions.changePlan('sub_123', {
  product_id: 'pdt_pro',
  quantity: 1,
  proration_billing_mode: 'prorated_immediately',
  on_payment_failure: 'prevent_change'
});
```

<Tip>
  プレミアム機能へのアクセス権を付与する前に支払いを確実に行いたい重要なアップグレードでは `prevent_change` を使用してください。
</Tip>

詳細: [Handling Payment Failures](/developer-resources/subscription-upgrade-downgrade#handling-payment-failures)

## API の更新

### 残高元帳 API

新しい `GET /balances/ledger` エンドポイントにより、フィルタリングやページネーション付きでアカウントの元帳エントリを取得できます。

| Parameter                           | Description                                      |
| ----------------------------------- | ------------------------------------------------ |
| `created_at_gte` / `created_at_lte` | 日付範囲でフィルタリング                                     |
| `event_type`                        | `payment`、`refund`、`dispute`、`payout` などでフィルタリング |
| `currency`                          | 通貨コードでフィルタリング                                    |
| `reference_object_id`               | 特定の支払い/返金/紛争 ID でフィルタリング                         |

詳細: [Balance Ledger API](/api-reference/balance-ledger/list-ledger-entries)

### 支払いレスポンス: `refund_status`

支払いが返金済みかどうかを、refunds endpoint に別途クエリせずにすばやく確認できるよう、`refund_status` フィールドを `GET /payments/{payment_id}` レスポンスに追加しました。
