開場:不是收不到錢,是不知道誰沒收到
一家做健康食品的客戶把單次購買改成月訂閱,第一個月很漂亮:320 位訂戶、月營收 48 萬。第四個月他打電話來,說帳對不上——後台顯示 310 位有效訂戶,銀行入帳只有 268 筆。中間那 42 筆,有的是信用卡到期、有的是額度不足、有的是客戶自己在銀行 App 取消了授權,而系統完全沒有告訴任何人。四個月累積的漏收金額是 21 萬,比他當初省下的系統開發費還多。
訂閱制系統的難度從來不在「怎麼收第一次錢」,而在「第二次到第二十四次怎麼收,收不到的時候誰知道」。這篇把定期定額扣款系統的完整規劃拆開講:三種做法怎麼選、真實成本多少、五個一定會踩的坑,以及一份 90 天路線圖。
適用情境 × 不適用情境
| 適合做訂閱制系統 | 不適合(先別做) |
|---|---|
| 消耗品且回購週期穩定(保健品、寵物食品、咖啡豆) | 回購週期不穩定或超過半年的商品 |
| 服務型且按月計費(軟體、顧問、課程、健身、線上會員) | 單價高、客戶需要每次比價的品項 |
| 已有 100 位以上的固定回購客戶,想把手動請款自動化 | 回購客戶少於 30 人,用 Excel 加人工請款更快 |
| 需要分級方案(基礎/進階/企業)與升降級 | 只有單一方案且不打算變動 |
| 需要試用期、優惠碼、暫停訂閱等留存工具 | 法規上不允許預先授權連續扣款的業別 |
三個替代方案矩陣
| 方案 | 做法 | 導入成本 | 每月成本 | 優點 | 缺點 |
|---|---|---|---|---|---|
| A. 金流商內建定期定額 | 綠界 ECPay / 藍新 NewebPay 的定期定額功能,網站只負責建立與查詢 | NT$60,000–120,000 | 手續費約 2.7–3.0% | 最快上線、對台灣發卡行相容性最好、有電子發票整合 | 方案彈性低,升降級與按比例補差額要自己算 |
| B. Stripe Billing | 用 Stripe 的訂閱物件管理方案、試用、折扣、發票 | NT$120,000–250,000 | 手續費約 3.4% + NT$10(國內卡),Billing 另計 | 方案模型完整、升降級與 proration 內建、重試邏輯成熟 | 費率較高、台灣發票需另接、部分本地卡別支援度需實測 |
| C. 自建訂閱引擎 + 金流授權 | 自己管理週期、狀態機與重試,金流只做授權與請款 | NT$250,000–500,000 | 手續費約 2.7–3.0% | 完全客製、可做複雜計價(用量計費、混合方案) | 開發與維護成本最高,狀態機寫錯就是漏帳 |
多數台灣中小企業的正解是 A:先用金流商內建功能上線,把「續訂失敗通知」與「訂戶狀態儀表板」自己補上。訂戶數過 1,000 或方案結構開始複雜時,再評估 B 或 C。
完整流程拆解
- 階段 1|計費規則定義(1–2 週):用 Notion 或 Google Sheet 把方案表寫死——方案名稱、週期、金額、試用天數、升降級規則、退款政策、暫停規則。交付物:計費規則表 + 狀態機圖(試用中/有效/逾期/暫停/已取消/已終止)。這一步沒做完就開發,後面一定重寫。
- 階段 2|金流與發票串接(2–3 週):串綠界或藍新的定期定額 API、建立授權、處理背景通知(webhook)、串電子發票(每期自動開立)。交付物:測試環境可完成一次完整的「授權 → 首扣 → 次期扣款 → 失敗 → 重試」。
- 階段 3|後台與通知(2–3 週):訂戶列表、狀態篩選、續訂失敗清單、手動重試按鈕、客戶端的「我的訂閱」頁(可更新卡片、暫停、取消)。通知走 Email + LINE Messaging API。交付物:後台可操作、客戶可自助。
- 階段 4|對帳與報表(1–2 週):每日自動對帳腳本(系統應收 vs 金流實收 vs 銀行入帳),差異寄通知。報表看 MRR、流失率、續訂成功率。交付物:對帳報表 + 三個核心指標儀表板。
工具建議:Figma(後台線框)、Notion(計費規則表)、綠界或藍新(金流與發票)、LINE Messaging API(通知)、Sentry(扣款失敗告警)。
真實成本完整拆解
- 開發(方案 A):NT$60,000–120,000,約 60–120 工時。含金流串接、後台、客戶自助頁。
- 電子發票:加值中心月費約 NT$500–1,500,張數另計,每張約 NT$0.5–1.5。
- 金流手續費:約 2.7–3.0%(台灣國內信用卡定期定額)。月營收 50 萬即每月 13,500–15,000 元。
- 簡訊 / LINE 通知:LINE 推播依方案,簡訊每則約 NT$0.8–1.2。續訂失敗提醒是必要支出。
- 隱藏費用一:卡片更新處理。 信用卡三年到期,代表每年約三成訂戶要換卡。若不做「到期前 30 天主動提醒」,這部分直接變流失。人力或開發成本 NT$20,000–40,000。
- 隱藏費用二:客服工時。 訂閱制的客服量是單次購買的 2–3 倍(我要暫停、我要改日期、我被扣兩次)。每 500 訂戶約需 0.3 個人力。
- 隱藏費用三:退款與爭議。 定期定額的爭議款比例高於一般交易,每筆爭議處理成本(人力+手續費)約 NT$300–800。
實施真相 vs 客戶想像
- 想像:串好金流就會自動扣款。 真相:扣款會失敗,而且比想像多。額度不足、卡片到期、銀行風控、客戶自行解除授權都會造成失敗。沒有重試與通知機制的訂閱系統,等於漏水的水桶。
- 想像:取消訂閱按鈕做得不明顯,流失率就會低。 真相:取消入口藏起來只會把取消變成爭議款與客訴,銀行端的爭議率過高還可能影響你的金流帳戶。做得清楚,反而能在取消流程裡插入「暫停一個月」的選項救回一部分。
- 想像:MRR 就是訂戶數乘以月費。 真相:真正能用的 MRR 要扣掉逾期未收、暫停中、以及本月將到期未更新卡片的訂戶。這三類在成熟訂閱制中常占 8–15%。
五個常見陷阱 × 怎麼避開
- 陷阱一:沒有訂閱狀態機。 用一個
is_active布林值管理訂閱,三個月後沒人搞得懂「暫停中但已預繳」是什麼狀態。解法:開發前先畫出六個狀態與所有轉移條件,寫進資料庫的 enum 欄位。 - 陷阱二:webhook 沒做冪等。 金流商會重送通知,同一筆扣款被記兩次,帳就爛了。解法:用金流交易編號當唯一鍵,重複收到直接回 200 並略過。
- 陷阱三:沒有卡片到期預警。 這是漏收金額最大的單一來源。解法:取得授權時記錄卡片到期年月,到期前 30 天與 7 天各發一次更新通知,附一鍵更新連結。
- 陷阱四:重試策略太粗暴。 失敗當天連扣五次,會被發卡行判定為異常。解法:失敗後第 1、3、7 天各重試一次,三次失敗轉「逾期」狀態並通知客服介入(可參考 Stripe 的智慧重試設計原則)。
- 陷阱五:升降級沒算按比例補差額。 客戶月中從 990 升到 1,990,你收全額或不收,兩邊都會有人抗議。解法:規則寫死在計費規則表,並在客戶自助頁上明確顯示「本次應補金額」再讓他確認。
成功指標 + 90 天路線圖
- 第 1–30 天:完成計費規則表與狀態機,串接金流定期定額與電子發票,測試環境跑完一次完整週期(含失敗與重試)。指標:測試案例通過率 100%。
- 第 31–60 天:上線後台與客戶自助頁,導入前 50 位訂戶(挑熟客),啟動卡片到期預警與失敗通知。指標:續訂成功率 ≥ 92%。
- 第 61–90 天:全量轉移舊訂戶,啟用每日對帳腳本與 MRR/流失率儀表板。指標:系統應收與銀行實收差異 ≤ 0.5%,月流失率 ≤ 5%。
決策清單
- ☐ 我有 100 位以上固定回購的客戶
- ☐ 我的商品/服務有穩定的消耗或使用週期
- ☐ 我已經寫得出完整的方案表(名稱、週期、金額)
- ☐ 我決定好試用期要不要收費、收多少
- ☐ 我知道客戶要暫停訂閱時該怎麼處理
- ☐ 我知道升級與降級的差額怎麼算
- ☐ 我有人可以每天看續訂失敗清單
- ☐ 我的退款政策已經寫成文字並公告
- ☐ 我需要每期自動開立電子發票
- ☐ 我需要客戶自己更新信用卡的頁面
- ☐ 我需要 MRR 與流失率的即時數字
- ☐ 我接受金流手續費約占營收 3%
- ☐ 我準備好每 500 訂戶投入約 0.3 個客服人力
勾選 9 項以上,現在做訂閱制系統的時機是對的。勾不到 6 項,先用人工請款再撐三個月。
常見問題 FAQ
綠界跟 Stripe 我該選哪一個?
看你的方案複雜度與客群。台灣本地客為主、方案單純(一到三種、少升降級),選綠界或藍新,費率低、發票整合現成、發卡行相容性最好。方案分級多、有試用期與按比例補差額、且有海外客戶,Stripe Billing 省下的開發時間通常大於它多出來的費率。
訂閱失敗要重試幾次才合理?
三次,分散在失敗後第 1、3、7 天。同日連續重試會被發卡行的風控判定為異常請求,反而降低成功率。三次都失敗就轉「逾期」狀態、停止服務並通知客服,不要無限重試。
客戶說「我沒有同意每個月扣款」怎麼辦?
系統必須留存授權當下的紀錄:時間、IP、方案內容、金額、週期,以及客戶勾選同意的畫面版本。這是爭議款申訴時唯一有用的東西。設計階段就要把這份紀錄寫進資料表,事後補不回來。
可以讓客戶暫停訂閱嗎?會不會大家都去暫停?
可以,而且建議做。實務上暫停選項多半出現在「取消流程」裡,是把要離開的人留下一部分的工具,而不是給所有人的功能。設上限(例如一年最多暫停兩次、每次最長 60 天)就不會失控。
下一步
ScriptWalker 的訂閱制與定期定額收費系統方案,含計費規則定義、金流與電子發票串接、訂戶後台與客戶自助頁、續訂失敗通知與每日對帳,起價 NT$120,000,標準交付 8–10 週。如果你現在還在用 Excel 加人工請款,我們也提供一次性的「訂閱漏收健檢」,兩週交付,找出你目前實際漏掉多少。
- Email:[email protected]
- 電話:0916-224-047
- LINE:@ufv9089p