---
title: 時間加成
description: 額外月份、延長試用 - 贈送顧客更多使用時間
---

# 時間加成

透過時間加成贈送顧客更多使用時間，提升年繳轉換率或延長試用體驗。

---

## 額外月份

年繳方案贈送額外月份，首期週期延長，續約時恢復標準週期。

### 運作方式

顧客購買年繳方案時，額外獲得指定月數的使用時間，付款金額維持原價。

**範例：**
- 年繳再送 2 個月 → 首期 14 個月，續約時恢復 12 個月
- 年繳再送 1 個月 → 首期 13 個月，續約時恢復 12 個月

### 適用場景

- **年繳促銷** - 鼓勵顧客選擇年繳而非月繳
- **周年慶活動** - 限時加碼回饋
- **VIP 專屬優惠** - 忠實顧客獨享

### 訂閱週期

```
使用額外月份優惠（送 2 個月）
        ↓
首期週期：14 個月
付款金額：原年繳價格
        ↓
14 個月後續約
        ↓
續約週期：12 個月（恢復標準週期）
付款金額：原年繳價格
```

### 限制條件

額外月份優惠**僅適用於年繳方案**。

如果顧客嘗試在月繳方案使用：
- 系統顯示「此優惠碼僅適用於年繳方案」
- 引導顧客切換到年繳方案

### 建立額外月份優惠

1. 前往「優惠促銷」
2. 點擊「建立優惠」
3. 選擇「額外月份」類型
4. 設定贈送月數
5. 系統自動限定年繳方案
6. 儲存

---

## 延長試用

延長產品的試用期，讓顧客有更多時間體驗。

延長試用是在產品原有試用期的基礎上增加天數。關於試用期的完整運作方式（信用卡驗證、狀態流程、試用轉正式等），請參考[試用期文件](/features/payments/trials)。

### 運作方式

在產品原有試用期的基礎上，額外增加指定天數的試用時間。

**範例：**
- 產品原有 7 天試用 + 延長 7 天 = 共 14 天試用
- 產品原有 14 天試用 + 延長 14 天 = 共 28 天試用

### 適用場景

- **特定客群優惠** - 為特定用戶提供更長試用期
- **行銷活動** - 限時延長試用吸引註冊
- **客戶挽留** - 對猶豫的潛在客戶提供額外體驗時間
- **企業客戶** - B2B 客戶通常需要更長評估期

### 與免費試用的差異

| 特性 | 產品試用期 | 延長試用優惠 |
|------|-----------|-------------|
| 設定位置 | 產品設定 | 優惠設定 |
| 適用對象 | 所有顧客 | 持有優惠碼的顧客 |
| 彈性 | 固定天數 | 可依活動調整 |
| 追蹤 | 產品層級 | 可追蹤優惠成效 |

### 建立延長試用優惠

1. 前往「優惠促銷」
2. 點擊「建立優惠」
3. 選擇「延長試用」類型
4. 設定額外試用天數
5. 設定其他限制（可選）
6. 儲存

### 顧客體驗

顧客在結帳時會看到：

```
試用期：21 天（原 7 天 + 額外 14 天）
試用期結束後將以 $299/月 收費
```

---

## 組合使用

時間加成可與價格優惠組合使用，創造更吸引人的促銷方案。

### 範例組合

| 組合 | 效果 |
|------|------|
| 延長試用 + 首期特價 | 21 天試用 + 首月 $1 |
| 額外月份 + 百分比折扣 | 買 12 送 2 + 9 折 |
| 延長試用 + 固定金額折扣 | 14 天試用 + 折 $100 |

### 注意事項

- 組合優惠需確保商業邏輯合理
- 建議設定使用次數上限控制成本
- 追蹤組合優惠的整體 ROI

---

## 技術整合

### 套用時間加成優惠

```typescript
const response = await fetch('https://api.recur.tw/v1/checkout/sessions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk_test_xxx',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    productId: 'prod_xxx',
    mode: 'SUBSCRIPTION',
    promotionCode: 'EXTRA2MONTHS', // 額外月份優惠碼
    successUrl: 'https://your-site.com/success',
    cancelUrl: 'https://your-site.com/cancel',
  }),
});
```

### 相關 Webhook 事件

訂閱相關事件的 payload 會包含時間加成資訊：

| 欄位 | 說明 |
|------|------|
| `trial_ends_at` | 試用結束日期（含延長試用天數） |
| `current_period_end` | 當前週期結束（含額外月份） |
| `coupon` | 優惠資訊（含 bonus 設定） |

**重要事件：**

- `subscription.created` - 訂閱建立，`current_period_end` 已包含額外月份
- `subscription.activated` - 訂閱啟用，`trial_ends_at` 已包含延長試用
- `subscription.trial_ending` - 延長試用即將結束（提前 3 天通知）
- `subscription.renewed` - 續訂時恢復標準週期（不再包含額外月份）

### 訂閱資料

**延長試用範例：**

原本 7 天試用 + 延長 14 天 = 共 21 天：

```json
{
  "id": "sub_xxx",
  "status": "trialing",
  "trial_ends_at": "2024-02-05T00:00:00Z",
  "current_period_start": "2024-01-15T00:00:00Z",
  "current_period_end": "2024-02-05T00:00:00Z",
  "coupon": {
    "id": "cpn_trial14",
    "name": "延長試用 14 天",
    "discount_type": "PERCENTAGE",
    "discount_amount": 0,
    "duration": "ONCE"
  }
}
```

**額外月份範例：**

年繳 12 個月 + 額外 2 個月 = 首期 14 個月：

```json
{
  "id": "sub_xxx",
  "status": "active",
  "trial_ends_at": null,
  "current_period_start": "2024-01-15T00:00:00Z",
  "current_period_end": "2025-03-15T00:00:00Z",
  "next_billing_date": "2025-03-15T00:00:00Z",
  "coupon": {
    "id": "cpn_bonus2m",
    "name": "年繳再送 2 個月",
    "discount_type": "PERCENTAGE",
    "discount_amount": 0,
    "duration": "ONCE"
  }
}
```

**續訂恢復標準週期**

額外月份僅在首期生效。續訂時 `current_period_end` 會恢復為標準 12 個月週期。

詳細 Webhook payload 格式請參考 [Webhook 事件類型](/guides/webhooks/events)。

---

## 最佳實踐

1. **明確說明價值** - 讓顧客清楚知道獲得多少額外時間
2. **設定合理天數** - 延長試用不宜過長，避免降低轉換急迫性
3. **追蹤轉換率** - 比較有無時間加成的轉換差異
4. **搭配提醒機制** - 在試用或首期即將結束前發送通知
5. **限定使用條件** - 考慮限定首次購買或特定商品
