功能收款方式
訂閱制
週期性自動扣款,建立穩定可預測的現金流
訂閱制
訂閱制是最常見的數位商業模式,顧客定期自動扣款,讓您建立穩定的 MRR(月度經常性收入)。
適用場景
- 會員制內容 - 付費電子報、會員專屬文章
- SaaS 軟體 - 月繳/年繳訂閱方案
- 線上課程 - 課程庫訂閱制
- 社群會員 - 付費 Discord、會員俱樂部
功能特點
彈性計費週期
支援多種計費週期:
| 週期 | 說明 |
|---|---|
| 月繳 | 每月自動扣款 |
| 季繳 | 每 3 個月扣款 |
| 年繳 | 每年扣款,通常提供折扣 |
| 自訂 | 自訂天數週期 |
試用期
提供免費試用期,讓顧客先體驗再決定:
- 設定試用天數(如 7 天、14 天、30 天)
- 結帳時以 NT$2 信用卡驗證確認卡片有效(自動退還,不實際扣款)
- 試用期結束自動轉為正式訂閱,扣取全額
- 試用期間可隨時取消
- 試用期間切換方案不涉及差額計算,新價格在試用到期時生效
完整說明請參考試用期文件。
免綁卡兌換:搭配 100% 折扣優惠碼和 collectPaymentMethod: 'if_required',顧客可以不需要信用卡就完成訂閱。此時不會進行 NT$2 驗證。詳見零元結帳。
方案升降級
顧客可自行升級或降級方案:
- 升級 - 立即生效,按比例計算差額
- 降級 - 下個計費週期生效
重複訂閱防護
Recur 會自動防止同一客戶重複訂閱同一商品。當開發者在建立結帳時帶入 customerEmail,系統會檢查該客戶是否已有以下狀態的訂閱:
- ACTIVE — 正常訂閱中
- TRIAL — 試用期中
- PAST_DUE — 逾期但尚未取消
若偵測到重複,API 回傳 409 conflict 錯誤,包含現有訂閱的 ID。已取消(CANCELED)或已過期(EXPIRED)的訂閱不影響重新訂閱。
詳細的錯誤處理方式請參考錯誤處理指南。
後台設定
- 前往「商品管理」→「新增商品」
- 選擇「訂閱制」
- 設定:
- 商品名稱與描述
- 價格與計費週期
- 試用期(可選)
- 儲存並發布
技術整合
建立訂閱結帳
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',
successUrl: 'https://your-site.com/success',
cancelUrl: 'https://your-site.com/cancel',
// 選填:預先套用優惠碼
// promotionCode: 'SAVE100',
}),
});匯入既有訂閱
透過 POST /v1/subscriptions 搭配 status: ACTIVE,可直接建立已生效的訂閱,適用於:
- 從其他平台(綠界、Stripe)遷移
- 為既有免費用戶建立訂閱
- 從人工管理轉系統化
支援自訂計費週期(billing_anchor_date / next_billing_date)、金額覆寫(amount)和開發者自訂資料(metadata)。
詳細請參考 Subscriptions API。
相關 Webhook 事件
subscription.created- 訂閱建立subscription.activated- 訂閱啟用subscription.cancelled- 訂閱取消(顧客/管理員主動取消)subscription.revoked- 訂閱因付款失敗被撤銷subscription.payment_method_required- 訂閱到期但無付款方式(匯入的訂閱)invoice.paid- 發票付款成功invoice.payment_failed- 發票付款失敗
詳細請參考 Webhook 文件。
Last updated on