首頁/名詞解釋/訂閱 Subscription

階段 5 · 帳號、權限與收錢

訂閱 Subscription

使用者定期付費以持續使用服務。

先用一句話理解

使用者定期付費以持續使用服務。

打個比方

像每月會員制。

什麼時候會遇到

SaaS、會員內容、工具服務或持續提供價值的產品。

再往深一點看

Subscription 是建立在 Payment 基礎設施上的定期自動扣款邏輯——不是「使用者每個月手動結帳一次」,而是授權平台在週期到達時自動向信用卡收費。Stripe 的 Subscription 物件會追蹤訂閱狀態(active、past_due、canceled、trialing),每次扣款結果透過 webhook 通知你的後端。和一次性 Checkout 最大的差別在於生命週期:訂閱有試用期、升降方案、中途取消、付款失敗重試、訂閱到期等多個狀態轉換,每個轉換都需要對應的使用者通知和資料庫更新邏輯,這些加起來比首次購買流程複雜許多。

舉個例子

你用 Stripe Subscription 做 SaaS 月費:使用者透過 Checkout 訂閱後,Stripe 每月自動扣款並發 `invoice.paid` 或 `invoice.payment_failed` 事件到你的 webhook;你的後端監聽這些事件來更新使用者的 `subscription_status` 欄位,狀態變 `past_due` 時限制功能存取,變 `canceled` 時完全停止服務。

常見誤解

  • - 只處理訂閱建立成功,忘了付款失敗的重試邏輯——Stripe 預設會重試幾次,重試期間訂閱狀態是 `past_due`;若多次重試仍失敗,依 Stripe 後台的 dunning(催款)設定,狀態可能進一步變成 `unpaid` 或直接 `canceled`。這幾個狀態都要對應處理,才能正確限制功能存取、通知使用者更新付款方式。
  • - 沒有實作升降方案(upgrade/downgrade)流程,使用者想換方案只能取消再重訂,造成訂閱中斷、多付或少付一段費用的問題。
  • - 取消訂閱後立即停止服務存取,但使用者已付費到月底——正確做法是取消後讓他繼續用到當期結束(cancel at period end),不要立即廢除存取權。

相關名詞

相關服務

StripePaddleLemon Squeezy

相關工具