Recur
功能收款方式

訂閱制

週期性自動扣款,建立穩定可預測的現金流

訂閱制

訂閱制是最常見的數位商業模式,顧客定期自動扣款,讓您建立穩定的 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)的訂閱不影響重新訂閱。

詳細的錯誤處理方式請參考錯誤處理指南

後台設定

  1. 前往「商品管理」→「新增商品」
  2. 選擇「訂閱制」
  3. 設定:
    • 商品名稱與描述
    • 價格與計費週期
    • 試用期(可選)
  4. 儲存並發布

技術整合

建立訂閱結帳

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

On this page