金流公司有定期定額,為什麼還需要訂閱管理系統?
「定期定額扣款,金流公司不都內建了嗎?」這是我們最常聽到的問題。這篇文章將深入解析經營訂閱制的完整面貌,以及為什麼專業的訂閱管理系統能讓你少走三年彎路。

「定期定額扣款,金流公司不都內建了嗎?」
這是我們在開發 Recur 這段時間最常聽到的問題。
確實,PAYUNi、綠界、藍新都有定期定額的功能。但 Recur 選擇不使用這些內建的定期定額 API,而是自己從頭打造訂閱週期管理系統。
為什麼要這麼做?
因為金流的定期定額功能,解決的是「每月自動扣款」這個技術問題。但經營訂閱制,你會遇到的問題遠不止這些:
顧客想升級方案,這個月已經扣款了怎麼算? 定期定額 API 不管這個。你得自己算按比例退款多少、補收多少。
年繳用戶中途想改月繳,怎麼處理? 定期定額 API 沒有「週期切換」的概念。你得手動取消舊約、建立新約、還要確保不重複扣款。
扣款失敗了,要重試幾次?隔幾天試? 定期定額 API 的重試邏輯是寫死的。你沒辦法根據失敗原因調整策略。
顧客說「我要暫停訂閱三個月」 定期定額 API 通常只有「啟用」跟「取消」,沒有暫停。
你想給老顧客續約優惠 定期定額 API 建立後金額就固定了,沒辦法動態調整。
這些才是經營訂閱制的日常。而這些,都不是「定期定額 API」設計來解決的問題。
所以我們選擇自己做——用金流的單次扣款功能,搭配我們自己打造的訂閱週期引擎。這讓我們能完整掌控每一個環節:什麼時候扣款、扣多少、失敗怎麼處理、狀態怎麼變化。
這就是「有定期定額」跟「有訂閱管理系統」的差別。
這篇文章,我想用最具體的方式,讓你理解經營訂閱制到底要處理多少事情。看完之後,你可以自己判斷:這些事情你要自己做,還是交給專業的系統。
第一章:扣款成功只是開始,不是結束
金流公司幫你做的事
讓我們先肯定金流公司的價值。當你設定好定期定額之後,金流公司會:
- 在指定日期發起扣款請求
- 與銀行/信用卡組織通訊
- 告訴你這筆交易成功或失敗
- 把錢撥給你(扣除手續費)
這很重要,沒有這個基礎,什麼訂閱制都做不了。
金流公司不管的事
但是,當扣款「失敗」的時候呢?
假設你有 100 個訂閱用戶,月初扣款時有 15 個人扣款失敗。這是非常正常的數字——信用卡餘額不足、卡片過期、銀行風控暫時攔截,各種原因都有可能。
金流公司會告訴你:「這 15 筆失敗了。」
然後呢?
然後就沒有然後了。這 15 個人的後續處理,是你的事。
你要決定:
- 要不要重試?什麼時候重試?
- 重試幾次?每次間隔多久?
- 重試都失敗的話,要不要寄信通知用戶?
- 信要寄幾封?間隔多久?內容寫什麼?
- 用戶多久沒付款要取消訂閱?
- 取消之前要不要給一個「寬限期」讓他們還能用服務?
這些問題,金流公司一個都不會幫你處理。
Recur 的智慧催繳系統
在 Recur,我們建立了完整的「付款失敗處理流程」:
智慧重試機制
不是隨便挑個時間重試,而是根據失敗原因選擇最佳時機:
| 失敗原因 | 重試策略 |
|---|---|
| 餘額不足 | 發薪日(1 號、15 號)重試 |
| 銀行暫時拒絕 | 1 天後重試,避開銀行系統高峰 |
| 網路問題 | 立即重試一次,失敗再等 1 天 |
| 卡片過期 | 不重試,直接通知用戶更新卡片 |
根據我們的數據,智慧重試可以挽回 15% 的失敗付款。
100 個訂閱用戶裡有 15 個扣款失敗,其中可以挽回 2-3 個。聽起來不多?如果你的訂閱價格是 $299/月,這就是每個月多 $600-900 的收入。一年下來是 $7,200-10,800。
而這只是 100 個用戶的規模。
催繳郵件序列
重試的同時,系統會自動發送催繳郵件:
| 時間點 | 郵件內容 |
|---|---|
| 付款失敗當天 | 「您的付款未成功,請更新付款方式」 |
| 失敗後 3 天 | 「提醒:您的訂閱付款仍未完成」 |
| 寬限期結束前 1 天 | 「最後提醒:您的訂閱即將取消」 |
| 訂閱取消後 | 「您的訂閱已取消,歡迎隨時回來」 |
每封郵件都有一鍵更新付款方式的連結,用戶點進去就能直接處理,不用登入、不用找客服。
寬限期管理
付款失敗不代表立刻取消訂閱。你可以設定寬限期(預設 7 天),在這段時間內:
- 用戶仍可使用服務(或限制部分功能)
- 系統持續嘗試扣款
- 持續發送提醒郵件
這個機制的目的是「給用戶機會」,而不是懲罰他們。很多付款失敗只是暫時性的問題,給他們幾天時間處理,比直接取消訂閱更能留住用戶。
自己建立催繳系統的成本
假設你決定自己實作這套流程,你需要:
- 建立排程系統:定時檢查失敗的扣款,決定何時重試
- 實作重試邏輯:根據失敗原因判斷重試策略
- 整合郵件服務:串接 Resend、SendGrid 等服務
- 設計郵件模板:寫催繳郵件的文案,做好多國語言
- 建立狀態機:追蹤每個訂閱的付款狀態
- 處理邊界情況:用戶在寬限期內升級方案怎麼辦?用戶在催繳期間取消再重新訂閱怎麼辦?
保守估計,這是 2-4 週的工程師工時。而且這只是「付款失敗處理」這一個功能。
第二章:訂閱不是設定好就不用管的東西
用戶會改變心意
訂閱制的特性是「持續的關係」,而人是會變的。你的用戶會:
- 想從月繳改成年繳(因為年繳比較划算)
- 想從基礎方案升級到進階方案(因為需要更多功能)
- 想從進階方案降級到基礎方案(因為用不到那麼多)
- 想暫停訂閱(因為最近太忙沒時間用)
- 想取消訂閱(因為不需要了)
- 取消之後又想回來(因為發現還是需要)
每一種情況,都涉及複雜的業務邏輯。
案例:月繳改年繳
小明在 1 月 15 日訂閱了你的月繳方案,$299/月。
到了 3 月 20 日,他發現年繳方案是 $2,990/年(等於 $249/月),想要改成年繳。
這時候問題來了:
- 小明這個月(3/15 - 4/15)的 $299 已經付了
- 他已經用了 5 天(3/15 - 3/20)
- 他還有 26 天的「已付費但未使用」額度
你要怎麼處理?
方案 A:不折抵,下個週期生效
告訴小明:「你這個月剩下的時間繼續用月繳方案,從 4 月 15 日開始改成年繳。」
這是最簡單的做法,但用戶體驗不好。小明會覺得「我已經決定要付更多錢了,為什麼還要等?」
方案 B:立即生效,按比例折抵
計算小明未使用的金額:$299 × (26/31) = $250
這 $250 可以折抵年繳費用:$2,990 - $250 = $2,740
小明今天付 $2,740,立刻升級為年繳方案。
方案 C:立即生效,剩餘天數轉換
計算小明剩餘的「天數價值」:26 天的月繳 ≈ 多少天的年繳?
月繳每日成本:$299/30 = $9.97 年繳每日成本:$2,990/365 = $8.19
26 天的月繳價值 = $259 可兌換年繳天數 = $259 / $8.19 = 31.6 天
小明的年繳從今天開始,但到期日往後延 31 天作為補償。
你看,光是「月繳改年繳」這個需求,就有這麼多種處理方式。而且每種方式都要考慮:
- 發票怎麼開?
- 金流怎麼處理?
- 訂閱狀態怎麼更新?
- 下次扣款日怎麼計算?
Recur 的自動化方案管理
在 Recur 後台,這些複雜的計算都是自動的。商家只需要決定「政策」,系統負責「執行」:
方案升級策略:立即生效,按比例計算差額
方案降級策略:下個計費週期生效
週期變更策略:立即生效,按比例折抵
設定好之後,無論用戶怎麼改方案,系統都會正確處理。
而且用戶可以直接在 Customer Portal 自己操作,不用聯繫客服。Portal 會顯示:
您目前的方案:基礎方案 $299/月
升級至進階方案 $499/月
立即升級需補繳:$167
(已扣除本月剩餘 26 天的未使用金額)
一切透明,一鍵完成。
試試看:方案切換計算
下面這個互動示範讓你體驗 Recur 如何處理方案切換。試著選擇不同的方案和週期,看看系統如何自動計算費用:
更多邊界情況
除了升降級,還有這些情況需要處理:
暫停訂閱
用戶想暫停 2 個月,保留訂閱資格但不扣款。
- 訂閱狀態要改成「暫停」
- 停止扣款,但保留用戶資料
- 2 個月後自動恢復
- 恢復時要重新扣款
- 如果暫停期間卡片過期怎麼辦?
取消後的寬限期
用戶取消訂閱,但到期日還沒到。
- 取消後到到期日之間,服務要繼續嗎?
- 這段時間算不算「訂閱用戶」?
- 用戶在這段時間反悔怎麼處理?
取消後重新訂閱
用戶 3 個月前取消了,現在想回來。
- 要建立新訂閱還是恢復舊訂閱?
- 之前的購買紀錄要保留嗎?
- 優惠碼可以用嗎?(如果之前用過「新用戶專屬」優惠)
每一個情況都是一個 if-else 分支,每一個分支都可能藏著 bug。
如果你自己做,這些邏輯你都要自己寫、自己測、自己維護。
第三章:你看不到的數字,才是經營關鍵
金流公司給你的數據
打開金流公司的後台,你會看到:
- 今天有幾筆交易
- 這個月收了多少錢
- 每筆交易的明細
這些數據能告訴你「發生了什麼」,但無法告訴你「狀況好不好」。
經營訂閱制需要的數據
一個健康的訂閱制事業,需要追蹤這些指標:
MRR(月度經常性收入)
不是「這個月收了多少錢」,而是「每個月穩定會收到的訂閱收入」。
計算方式:
MRR = Σ(每個有效訂閱的月度價值)
例如:
- 10 個月繳 $299 訂閱 → 10 × $299 = $2,990
- 5 個年繳 $2,990 訂閱 → 5 × ($2,990 ÷ 12) = $1,246
- 總 MRR = $4,236
為什麼年繳要除以 12?因為 MRR 衡量的是「月度」收入。年繳的用戶雖然一次付 $2,990,但這筆錢要攤到 12 個月。
MRR 的組成
單看總 MRR 不夠,你還需要拆解來源:
| 類型 | 說明 | 範例 |
|---|---|---|
| New MRR | 新訂閱帶來的 MRR | 本月新增 5 個月繳用戶 = +$1,495 |
| Expansion MRR | 升級帶來的增量 | 3 個用戶從 $299 升級到 $499 = +$600 |
| Contraction MRR | 降級造成的減少 | 2 個用戶從 $499 降級到 $299 = -$400 |
| Churn MRR | 取消訂閱的損失 | 4 個 $299 用戶取消 = -$1,196 |
| Reactivation MRR | 重新訂閱帶來的 MRR | 1 個舊用戶回來 = +$299 |
Net MRR Growth = New + Expansion + Reactivation - Contraction - Churn
如果這個數字是正的,你的事業在成長。如果是負的,你在萎縮。
Churn Rate(流失率)
這是訂閱制最重要的健康指標。
Customer Churn Rate = (期間內取消訂閱數 ÷ 期初訂閱數) × 100%
例如:
- 月初 100 個訂閱
- 月內取消 5 個
- Customer Churn Rate = 5%
5% 聽起來不多?讓我們算一下:
如果每月流失 5% 的用戶,一年後你會剩下多少?
100 × (0.95)^12 = 54 個
你會失去將近一半的用戶。這就是為什麼「降低流失率」是所有訂閱制公司最核心的任務。
LTV(顧客終身價值)
一個顧客在整個訂閱週期會帶來多少收入?
LTV = ARPU ÷ Customer Churn Rate
例如:
- ARPU(每用戶平均月收入)= $299
- Customer Churn Rate = 5%
- LTV = $299 ÷ 0.05 = $5,980
這個數字告訴你:每獲得一個用戶,平均可以賺 $5,980。
搭配 CAC(獲客成本),你可以計算 LTV/CAC 比率:
| 比率 | 意義 |
|---|---|
| < 1 | 虧損,每獲得一個用戶都在賠錢 |
| 1-3 | 尚可,但要小心 |
| > 3 | 健康,可以加大獲客投資 |
Recur 的即時數據分析
在 Recur 後台的「數據分析」頁面,這些指標都是即時計算、視覺化呈現的:
- MRR 趨勢圖(最近 12 個月)
- MRR 組成拆解(New / Expansion / Churn)
- Churn Rate 追蹤
- LTV 計算
- ARPU 變化
你不需要自己建 Excel 試算表,不需要每個月手動計算,更不需要擔心算錯。
我們還提供「警報功能」:
- Churn Rate 突然上升 → 立即通知
- MRR 連續 3 天下降 → 發送警報
- LTV/CAC 低於 3 → 提醒優化
這些數據讓你從「憑感覺經營」變成「數據驅動決策」。
看見每個顧客的完整歷程
除了整體數據分析,Recur 還讓你看見每個顧客的完整訂閱歷程:
王小明
xiaoming@example.com
INV-20250101-001
INV-20241201-002 · 按比例計算差額
基礎方案 → 專業方案
INV-20241115-001
INV-20241015-001 · 已套用折扣
WELCOME20 · 首月 8 折
基礎方案 · NT$299/月
3 個月
訂閱時長
1 次
方案升級
$1,453
累計付款
這個時間軸不只是好看,它解決了很多實際問題:
沒有訂閱管理系統時的痛點:
- 顧客說「我上個月升級過方案」,你要翻好幾個系統才能確認
- 有人投訴「我沒收到折扣」,你不知道他用的是哪個折扣碼
- 付款失敗後顧客說「我已經更新卡片了」,你無法追蹤事件順序
- 財務對帳時,無法解釋某筆金額為何是這個數字
有了完整歷程後:
- 客服一眼就能看到顧客的所有動作
- 財務可以追蹤每筆金額的來龍去脈
- 產品團隊可以分析用戶的升級/降級模式
- 出問題時能快速找到根本原因
自己建立數據分析的成本
你需要:
- 建立數據倉儲,儲存所有訂閱事件
- 寫 SQL 計算各種指標
- 建立報表介面(或每次手動跑 SQL)
- 確保計算邏輯正確(MRR 的計算比你想像的複雜)
- 處理歷史資料的回溯計算
這需要資料工程師的專業,而且是持續的維護工作。
第四章:顧客體驗是你的競爭力
結帳體驗
當用戶決定訂閱你的服務,他會經歷什麼流程?
使用金流公司原生頁面:
- 用戶點擊「訂閱」按鈕
- 跳轉到金流公司的結帳頁面(通常很陽春)
- 輸入信用卡資訊
- 完成付款
- 跳轉回你的網站
這個流程的問題:
- 結帳頁面沒有你的品牌,用戶可能會疑惑「我是不是走錯地方」
- 頁面設計老舊,手機體驗差
- 無法展示訂閱內容、方案對比
- 無法套用優惠碼
- 無法選擇計費週期
使用 Recur 託管結帳頁:
- 用戶點擊「訂閱」按鈕
- 進入你品牌的結帳頁面
- 看到完整的方案說明、價格、週期選擇
- 可以輸入優惠碼
- 輸入信用卡資訊
- 完成付款
- 跳轉回你的網站
結帳頁面可以自訂:
- 上傳你的 Logo
- 設定主題色
- 顯示方案說明
- 選擇月繳/年繳
- 輸入優惠碼
- 手機裝置優化
這不只是「好看」的問題,而是「轉換率」的問題。一個專業、流暢的結帳體驗,可以減少用戶在最後一步放棄購買的機率。
Customer Portal
訂閱之後,用戶需要管理他的訂閱。他可能想:
- 查看目前的訂閱狀態
- 看看下次什麼時候扣款、扣多少
- 更新信用卡資訊(舊卡到期了)
- 下載過去的收據
- 升級或降級方案
- 取消訂閱
沒有 Portal 的情況:
用戶:「我想更新信用卡資訊。」 你:「請寄信到 support@yoursite.com,附上新的卡號、到期日、CVC...」 用戶:「......」
或者:
用戶:「我想取消訂閱。」 你:「請寄信到 support@yoursite.com,說明取消原因,我們會在 3 個工作天內處理。」 用戶:(直接去銀行止付、留下一堆失敗交易)
有 Portal 的情況:
用戶在你的網站點擊「管理訂閱」,進入 Customer Portal。
他可以:
- 一眼看到目前的訂閱狀態
- 自己更新信用卡(輸入新卡號就好)
- 自己升級/降級方案(系統自動計算補繳或退款)
- 自己下載歷史收據
- 自己取消訂閱(可以設定需要填寫原因)
所有操作,用戶自己完成,不需要客服介入。
這對你的好處是:減少客服工作量、避免信用卡資訊透過郵件傳輸的安全風險。
對用戶的好處是:隨時可以處理,不用等人回信。
試試看:更新付款方式
下面這個互動示範讓你體驗 Customer Portal 中更新信用卡的流程:
- 用戶自助更新,無需聯繫客服
- 卡片資訊透過安全的金流頁面處理,不經過您的伺服器
- 即時生效,下次扣款自動使用新卡
- 卡片到期前自動提醒用戶更新
帳單與收據
每次扣款後,用戶應該收到一封收據郵件。這封郵件應該包含:
- 交易日期
- 付款金額
- 訂閱方案名稱
- 下次扣款日期
- 發票明細(如果需要報帳)
金流公司可能會發送交易通知,但格式固定、無法自訂,而且通常只有交易資訊,沒有你的品牌。
Recur 的收據郵件:
- 可以放你的 Logo
- 可以自訂郵件內容
- 自動計算下次扣款日
- 包含管理訂閱的連結
- 可以附上發票 PDF
這些細節看起來很小,但加起來就是「專業」與「業餘」的差別。
第五章:促銷不只是「改個價格」
經營訂閱制的常見行銷手法
1. 首月 $1
讓用戶用極低的價格($1)試用一個月,體驗服務價值後再決定是否以原價續訂。
這個策略很有效,因為:
- 降低用戶的決策門檻
- 用付費行為篩選有意願的用戶(比完全免費更有價值)
- 建立付款習慣
但實作起來需要:
- 首月以特價扣款
- 記錄這個用戶是特價訂閱
- 一個月後自動恢復原價
- 結帳時清楚顯示「首月 $1,第 2 個月起 $299/月」
- 到期前提醒用戶價格將恢復
2. 年繳優惠
年繳送 2 個月,等於打 83 折。
這能提高用戶的 commitment,降低流失率。但你需要:
- 設計年繳價格
- 在結帳頁面顯示月繳/年繳對比
- 計算實際折扣幅度
- 處理年繳中途取消的退款邏輯
3. 折扣碼
發放 SAVE100(折 $100)或 VIP20(打 8 折)這樣的優惠碼。
你需要管理:
- 優惠碼的有效期限
- 使用次數上限(總共 100 次?每人 1 次?)
- 適用的方案(只能用在年繳?還是全部都可以?)
- 使用紀錄(誰用了?什麼時候用的?)
- 週期性折扣(只有首月 8 折?還是連續 3 個月都 8 折?)
4. 限制特定客群
- 「新用戶專屬」優惠:只有從未訂閱過的人可以用
- 「老用戶回歸」優惠:只有取消過的人可以用
- 「升級專屬」優惠:只有升級方案時可以用
這需要判斷用戶的歷史狀態。
Recur 的優惠系統
在 Recur,所有這些行銷手法都是內建功能:
建立優惠碼
名稱:夏季促銷
代碼:SUMMER2025
類型:百分比折扣
折扣:20%
期限:2025/06/01 - 2025/08/31
總次數上限:100 次
每人上限:1 次
適用方案:全部
客群限制:僅限新顧客
設定完成,系統會處理所有驗證邏輯。
優惠碼套用
用戶在結帳頁面輸入優惠碼,系統自動:
- 驗證代碼是否存在
- 檢查是否在有效期限內
- 確認使用次數未超過上限
- 確認此用戶未使用過(如果有每人上限)
- 確認此用戶符合客群限制
- 計算折扣金額
- 顯示折扣後價格
如果驗證失敗,顯示具體原因:「此優惠碼僅限新顧客使用」。
週期性折扣
設定「前 3 個月 8 折」這樣的優惠:
類型:百分比折扣
折扣:20%
持續期間:前 3 期
系統會自動:
- 第 1-3 個月:以 8 折價格扣款
- 第 4 個月起:恢復原價
- 每次扣款前發送提醒,告知下期價格
使用統計
每個優惠碼都有獨立的統計頁面:
- 使用次數:45 / 100
- 折扣總額:$13,500
- 帶來營收:$45,000
- 使用者清單
你可以評估每個行銷活動的 ROI。
試試看:優惠碼系統
下面這個互動示範讓你體驗 Recur 的優惠碼驗證流程。試試輸入不同的優惠碼看看效果:
自己建立優惠系統的成本
你需要:
- 設計優惠碼資料表
- 實作驗證邏輯(十幾個條件判斷)
- 在結帳流程中整合優惠碼輸入
- 處理週期性折扣的狀態追蹤
- 建立管理介面
- 實作統計報表
這又是幾週的工程時間,而且優惠系統的邊界情況特別多(優惠碼過期的瞬間有人使用怎麼辦?兩個優惠碼可以疊加嗎?)。
第六章:API 與 Webhook——與你的系統整合
訂閱制不是孤島
你的訂閱系統需要與其他系統互動:
- 網站/App:用戶在哪裡使用你的服務
- 會員系統:決定用戶可以存取什麼內容
- CRM:記錄用戶的消費歷史
- Email 系統:發送歡迎信、到期提醒
- 資料分析:追蹤用戶行為
這些互動需要兩件事:
- API:讓你的系統主動查詢、操作訂閱資料
- Webhook:讓訂閱系統在事件發生時通知你的系統
Recur 的 API
完整的 RESTful API,涵蓋所有操作:
// 查詢用戶的訂閱狀態
const subscription = await recur.subscriptions.retrieve('sub_xxx');
// 建立結帳 Session
const session = await recur.checkout.sessions.create({
productId: 'prod_xxx',
customerId: 'cus_xxx',
successUrl: 'https://your-site.com/success',
});
// 取消訂閱
await recur.subscriptions.cancel('sub_xxx');
// 查詢用戶的發票
const invoices = await recur.invoices.list({
customerId: 'cus_xxx',
});
我們提供 TypeScript SDK,有完整的型別定義,寫起來就像在用本地物件。
Webhook 事件
當訂閱發生變化,Recur 會發送 Webhook 通知到你指定的 URL:
| 事件 | 說明 | 應用場景 |
|---|---|---|
subscription.created | 訂閱建立 | 開通會員權限 |
subscription.activated | 訂閱啟用(首次付款成功) | 發送歡迎信 |
subscription.renewed | 訂閱續訂 | 更新會員到期日 |
subscription.canceled | 訂閱取消 | 關閉會員權限、發送挽回信 |
invoice.paid | 發票付款成功 | 記錄消費歷史 |
invoice.payment_failed | 付款失敗 | 發送付款問題通知 |
範例:用 Webhook 同步會員權限
// 在你的伺服器端
app.post('/webhooks/recur', (req, res) => {
const event = req.body;
switch (event.type) {
case 'subscription.activated':
// 開通會員權限
await db.users.update({
where: { email: event.data.customer.email },
data: {
isPremium: true,
premiumUntil: event.data.current_period_end,
},
});
break;
case 'subscription.canceled':
// 關閉會員權限
await db.users.update({
where: { email: event.data.customer.email },
data: { isPremium: false },
});
break;
}
res.status(200).send('OK');
});
這樣你的網站就能即時反映訂閱狀態,不需要定期輪詢、不需要手動同步。
金流公司的 Webhook
金流公司也有 Webhook(通常叫「交易通知」),但只告訴你交易結果:
{
"transaction_id": "TXN123456",
"status": "success",
"amount": 299,
"time": "2025-01-02T10:30:00Z"
}
你需要自己:
- 判斷這筆交易對應哪個訂閱
- 更新訂閱狀態
- 計算下次扣款日
- 決定要發什麼通知
而 Recur 的 Webhook 已經幫你整理好這些資訊:
{
"type": "subscription.renewed",
"data": {
"id": "sub_xxx",
"customer": {
"id": "cus_xxx",
"email": "user@example.com"
},
"product": {
"id": "prod_xxx",
"name": "進階方案"
},
"current_period_start": "2025-01-02T00:00:00Z",
"current_period_end": "2025-02-02T00:00:00Z",
"status": "active"
}
}
收到這個 Webhook,你立刻知道:誰的訂閱、什麼方案、新的計費週期是什麼。
第七章:自己做的真實成本
工程時間估算
如果你決定自己實作訂閱系統,這是需要開發的功能清單:
| 功能 | 估算工時 |
|---|---|
| 基礎訂閱流程 | 2 週 |
| 付款失敗處理 & 重試 | 1 週 |
| 催繳郵件系統 | 1 週 |
| 方案升降級 | 2 週 |
| 暫停/恢復訂閱 | 1 週 |
| Customer Portal | 3 週 |
| 優惠碼系統 | 2 週 |
| MRR/Churn 數據分析 | 2 週 |
| Webhook 系統 | 1 週 |
| 結帳頁面 | 1 週 |
| 管理後台 | 3 週 |
| 總計 | 19 週 |
這還是「功能做完」的時間,不包括:
- Debug 和修正邊界情況
- 寫測試
- 處理金流 API 變動
- 安全性稽核
- 效能優化
實際上,一個完整的訂閱系統需要 6-12 個月 的專職工程師時間。
金錢成本
假設工程師月薪 $80,000:
- 6 個月開發:$480,000
- 後續每月維護(約 0.5 人月):$40,000/月
第一年成本:$480,000 + $40,000 × 6 = $720,000
機會成本
這 6-12 個月的工程時間,本來可以用來:
- 開發你的核心產品
- 優化用戶體驗
- 建立更多內容
- 開拓新市場
你真的要把最寶貴的工程資源,花在「重新發明輪子」上嗎?
風險成本
自己做還有這些風險:
1. 做錯了
訂閱計費的邊界情況非常多。升級的當下剛好跨月怎麼辦?用戶在寬限期最後一秒付款成功怎麼辦?優惠碼用到一半用戶取消了要不要退還使用次數?
這些情況你可能想不到,或者想到了但沒處理好。結果就是用戶投訴、金額算錯、財務對不起來。
2. 金流 API 變動
金流公司會更新 API、變更規則、調整手續費。每次變動,你都要配合修改。
3. 安全問題
支付相關的系統需要特別注意安全。信用卡資訊的處理、API 金鑰的保護、Webhook 的驗證...任何一個環節出問題,都可能造成嚴重後果。
結語:專業的事交給專業
金流公司提供的「定期定額扣款」功能,就像蓋房子時的「水泥」。
水泥很重要,沒有水泥蓋不了房子。但水泥不是房子。
經營訂閱制需要的是一整棟房子:
- 地基:可靠的扣款機制 ✓(金流公司提供)
- 結構:訂閱生命週期管理
- 水電:自動化催繳與重試
- 裝潢:品牌化的顧客體驗
- 傢俱:數據分析與報表
- 智慧家居:促銷與行銷工具
Recur 做的事情,就是在金流公司的基礎上,建造一棟完整的房子。
你可以自己蓋,但你會花掉半年到一年的時間,投入數十萬到上百萬的成本,承擔做錯的風險。
或者,你可以使用 Recur,專注在你最擅長的事情上——創作內容、經營社群、服務用戶。
訂閱經營的複雜度,讓我們處理。你的時間,應該花在更有價值的地方。
準備好開始了嗎?
有任何問題?歡迎透過 support@recur.tw 聯繫我們。


