你可以暫停訂閱或把續訂日期往後推,而不是退款,這樣能留住大部分收入
當訂閱者想退出時,你可以暫停訂閱、延後下一次扣款,或延長續訂日期,而不是退款。每一種做法都能留住客戶,並且不退回你已經收到的任何款項。以下講清楚每一個手段在各個商店裡如何運作,以及能省下什麼。

重點摘要
- 當訂閱者想退出時,開發者在退款之前通常有三個商店認可的手段:暫停訂閱、延後下一次扣款,或延長續訂日期。每一種都能留住客戶,並且不退回已經收到的任何款項。
- Google Play 允許使用者把一個自動續訂的訂閱暫停一段時間,時長在 one week 到 three months 之間,具體取決於方案的計費週期,而且暫停只在當前計費週期結束後才生效。
- 在 Google Play 訂閱被暫停期間,使用者失去存取權限且無需付費,暫停結束時 Google 會自動嘗試為其續訂。
- Google Play 的延後扣款讓開發者把下一次扣款往後推,每次 API 呼叫最少推 one day、最多推 up to a year,在此期間使用者保留完整存取權限且不被扣款。
- Apple 沒有面向使用者的暫停功能。它的對應做法是 App Store Server API 的續訂日期延長,可以把訂閱者的續訂日期往後推 up to 90 days,每個日曆年 twice per calendar year,延長出的這段時間不收費。
- 對一個年度訂閱退款,可能一次退回整整一年的付款,而暫停或贈送幾天所花的只是其中很小一部分,這就是為什麼退款應該是最後的選項,而不是第一個。
- 一旦客戶就一筆扣款向銀行提出爭議,這些手段都幫不上忙。到那時開發者唯一能提供的輸入,就是 Apple 的 12 hours CONSUMPTION_REQUEST 或 Google Play 的 24 hours orders.reviewrefund 視窗。
你可以暫停訂閱、把下一次扣款推到未來,或者送給訂閱者一些免費天數,這幾種做法都能把客戶留在你的帳面上,而不退回你已經收到的一分錢。退款正好相反。它退回上一次扣款,有時是整整一年的費用,而且客戶通常反正也走了。所以當有人說想退出或要求退款時,退款很少是你唯一的選擇,而且它幾乎總是最貴的那一個。
這裡是全貌。Google Play 允許使用者暫停一個自動續訂的訂閱,也允許你把下一次扣款往後推,從一天到一年不等。Apple 沒有暫停按鈕,但它允許你每年延長續訂日期兩次,每次最多 90 days,客戶不用付費。接下來講的是每個手段在各個商店裡如何運作,與退款相比它們讓你花多少,以及有一種情況下它們全都幫不上忙。
當訂閱者想離開時,你真正擁有的選擇
取消和退款不是同一件事,把每一個不滿意的訂閱者都當成退款來處理,正是各家工作室退回本不必退回的錢的原因。取消會停止下一次續訂,把已經付的錢留在原處。退款則伸回去,把你已經入帳的一筆扣款拿走。在這兩者之間,有一套正是為這一刻而設的商店工具:留住這個人的訂閱,或者在不逆轉付款的情況下把關係維繫好。
先暫停、延後、延長,最後才退款
順序很重要。暫停會把訂閱停放起來,讓客戶能離開一陣子再回來。延後或延長會贈送免費時間,把一個本來要退款的請求變成一次善意的表示,讓你花的是幾天,而不是錢。退款是最後手段,因為在這四種裡,它是唯一一個把錢從你帳戶裡拿回去的。當其他三種都不合適時再動用它,而不是一開始就用。
如何在 Google Play 上暫停訂閱
在這兩個商店裡,只有 Google Play 有真正的暫停。使用者在 Play Store 裡打開自己的訂閱,選擇暫停它,商店會處理其餘的事。你不需要審核,但你可以圍繞它來做設計。
暫停能持續多久
使用者可以暫停一段時間,時長在 one week 到 three months 之間,可選項取決於方案的計費週期。暫停總是只在當前計費週期結束後才生效,所以客戶保留了已經付費的那部分,暫停在下一次續訂時乾淨俐落地開始。
| 方案計費週期 | 使用者可選的暫停時長 |
|---|---|
| 每週 | 1、2、3 或 4 週 |
| 每月 | 1、2 或 3 個月 |
| 每 3 或 6 個月 | 1、2 或 3 個月 |
| 每年 | 1、2 或 3 個月 |
暫停對存取權限、計費和你的查詢有什麼影響
在訂閱被暫停期間,使用者沒有存取權限,也不支付續訂價格。沒有錢離開你的帳戶,也沒有錢進入。有一個整合細節常常讓團隊栽跟頭:除非你把 includeSuspendedSubscriptions 設為 true,否則一個被暫停的訂閱不會被 Play Billing Library 的 queryPurchasesAsync() 方法返回。忽略這一點,你的應用程式就可能把一個只差一次點擊就能回來的暫停訂閱者,當成徹底流失的使用者。
暫停結束時會發生什麼
在暫停期結束時,訂閱恢復,Google 會嘗試為其續訂。使用者也可以在暫停期間隨時手動恢復,一旦手動恢復,計費日期就移到手動恢復的那一天。如果續訂嘗試失敗,這個訂閱會走和其他任何訂閱一樣的續訂失敗路徑,經過計費寬限期和帳戶保留,所以暫停不會去掉你的挽回步驟,它只是把這些步驟往後延。
Apple 沒有暫停,所以你改為延長續訂日期
Apple 不給使用者一個暫停開關。它給開發者的,是把訂閱者的續訂日期往未來移的能力,這會贈送免費的服務時間,並把下一次扣款往後推。這是一個伺服器端的動作,而不是客戶去點的東西。
每年兩次,每次最多 90 days
使用 App Store Server API,你可以為一位客戶的訂閱移動續訂日期,每個日曆年 twice per calendar year,每次往未來移 up to 90 days,客戶不會因這段增加的時間被扣款。你會附上一個 extendReasonCode 來記錄原因,比如客戶滿意度或某個服務問題。這是 Apple 最接近暫停的做法:不是把方案停放,而是延長它,讓這個人保留存取權限,而你本來要收的那筆費用只是往後移了。
一次呼叫就能覆蓋一場故障
還有第二個端點,能一次為所有活躍訂閱者延長續訂日期。在一場影響了你整個使用者群的故障之後動用它,此時給所有人贈送幾天免費時間,比應付一波又一波單獨的退款請求更便宜也更從容。它是同一個想法的批量版本:用免費時間來支付,而不是用逆轉的扣款。

延後扣款,在不退款的情況下贈送免費時間的手段
Google Play 對應 Apple 延長做法的是延後扣款,而且在時長上更慷慨。你呼叫 purchases.subscriptionsv2.defer,把一個比當前更晚的新到期時間設進去。每次 API 呼叫最少可以延後 one day、最多推 up to a year,想推得更遠,就在新日期到來之前再呼叫一次。
客戶什麼都保留,且什麼都不付
在延後期間,使用者仍然訂閱著你的內容並擁有完整存取權限,但不會為這多出來的時間付費,續訂日期也更新為新的日期。Google 自己的例子就是一份微型的留存操作手冊:因為填寫一份意見回饋問卷而贈送一週免費,或者在一場持續的故障導致人們無法使用你的服務後補償存取權限。這裡面的每一個,都是一筆你沒有開出的退款。
接好通知
延後一筆扣款會觸發一個 SUBSCRIPTION_DEFERRED 即時開發者通知,這樣你的後端就能記錄新的續訂日期,並讓權益保持同步。預付方案的運作方式相同:defer 呼叫延長的是到期時間,而不是續訂日期。
每個選項在錢上讓你花多少
這一部分應該決定你嘗試各種做法的順序。這四種做法在價格上相差甚遠,而差距最大的地方,恰恰是退款最傷人的地方,也就是一個時間長、價值高的方案上。
退款是唯一一個把錢拿回去的做法
退款把上一次扣款退給客戶。在月度方案上那是一個月。在年度方案上,它按那最後一次扣款計算,也就是整整一年,在一個事件裡被逆轉。除了退回去的金額之外,還壓著你為服務這個訂閱已經花掉的成本:算力、第三方 API 呼叫、儲存,以及你付給某位創作者的任何分成,這些都收不回來。暫停、延後或延長都不碰這些。它們唯一讓你花的,是你延後的未來收入,或你補償的少數幾天。
| 做法 | 現在從你帳戶離開的 | 你保留的 |
|---|---|---|
| 退款 | 上一次扣款,年度方案上最多是整整一年,再加上你已經花掉的服務成本 | 通常什麼都沒有,客戶一般都走了 |
| 暫停(Google Play) | 現在什麼都不離開,只是未來收入裡被暫停的那些週期 | 這個訂閱者和下一次續訂 |
| 延後扣款(Google Play) | 你贈送的那些免費天數的價值 | 這個訂閱者和下一次續訂 |
| 續訂日期延長(Apple) | 你贈送的那些免費天數的價值,每次延長最多 90 天 | 這個訂閱者和下一次續訂 |
拒付會讓這筆帳更難看
當替代方案甚至不是一次乾淨的退款,而是一場銀行爭議時,這筆錢的帳就更清楚了。對於 August 3, 2026 之後下的 Google Play 訂單,一場敗訴的拒付讓開發者付出的是購買價格減去 Play 的服務費,再加上銀行的拒付費用。一次暫停或幾天補償,如果能讓一個沮喪的客戶不去找他的銀行,那它不只是比退款便宜,它還擋掉了一筆更大的成本。
什麼時候暫停或延後是錯誤的工具
一旦客戶不再跟你說話,轉而去跟他的銀行說話,這一切就都不管用了。暫停、延後和延長,都是你提供給一個還在你應用程式裡的訂閱者的東西。對於一場已經提交的爭議,它們無能為力。
一場已提交的爭議有它自己的短暫時鐘
一旦一筆扣款被爭議,你唯一的輸入就是一個狹窄的視窗。Apple 會給你的伺服器發一個 CONSUMPTION_REQUEST,並等待 up to 12 hours 以取得消費資料。Google Play 會啟動一個 24 hours 的時鐘,並透過 orders.reviewrefund API 處理你的證據。錯過任何一個視窗,決定都會在沒有你的情況下作出。所以這些留存手段是用在退款請求之前那一刻的,而不是用在一場銀行爭議之後。
退款有時才是對的答案
對於一個確實受了委屈、並且想要回自己的錢而不是你更多產品的客戶,給他免費時間可能會被讀作一種搪塞。當公平的做法是退回那筆扣款時,就退回它。重點不是永遠不退款,而是當一次暫停或一週的補償本可以既留住錢又留住客戶時,不要條件反射式地退款。
留存清單
這一切都不深奧。它是訂閱者發出想退出信號那一刻的一套簡短例行流程。
- 把退款當成四個做法裡的最後一個,排在暫停、延後和延長之後,而不是第一個。
- 在 Google Play 上,為暫停做好設計:設定
includeSuspendedSubscriptions,這樣你的應用程式就不會把一個被暫停的訂閱者誤當成已流失的。 - 像對待一次新購買那樣處理暫停結束時的續訂,因為那正是一個被暫停的訂閱者被留住或失去的地方。
- 在 Google Play 上使用延後扣款,在 App Store 上使用續訂日期延長,用補償天數來代替開出退款。
- 記錄
SUBSCRIPTION_DEFERRED通知和這次延長,讓你的收入數字反映出被移動的續訂日期。 - 把退款留給那個確實受了委屈並想要回自己錢的客戶,而不是給每一個請求。
- 記住這些手段在一場銀行爭議提交後就不再管用,當有爭議時,回應那 12 hours 和 24 hours 的視窗。
常見問題解答
- 可以暫停一個 Google Play 訂閱嗎?
- 可以。使用者可以把一個自動續訂的 Google Play 訂閱暫停一段時間,時長在 one week 到 three months 之間,取決於方案的計費週期。暫停只在當前計費週期結束後才生效。暫停期間使用者沒有存取權限且不付費,暫停結束時 Google 會自動嘗試為其續訂。
- 在 Google Play 上可以暫停一個年度訂閱嗎?
- 可以。對於年度方案,使用者可以選擇暫停 1、2 或 3 個月。暫停只在當前已付費的那一年結束後才開始,所以客戶保留了已經付費的存取權限,暫停在下一次續訂時開始。
- Apple 允許你暫停訂閱嗎?
- 不允許,Apple 沒有面向使用者的暫停功能。最接近的工具是 App Store Server API,它讓開發者把訂閱者的續訂日期往未來延長 up to 90 days,每個日曆年 twice per calendar year,客戶不用付費。這會贈送免費時間並把下一次扣款往後推,而不是把方案停放。
- Google Play 上的延後扣款是什麼?
- 延後扣款讓開發者用 purchases.subscriptionsv2.defer 方法把一個訂閱的下一次扣款推到未來。每次 API 呼叫你可以最少延後 one day、最多推 up to a year。在延後期間,使用者保留完整存取權限且不被扣款,這讓它成為一種用來補償免費時間而不是退款的方式。
- 暫停或延後比給訂閱者退款更便宜嗎?
- 幾乎總是。退款退回上一次扣款,在年度方案上那是整整一年,而且它不會收回你為服務這個訂閱已經花掉的算力、API 和儲存成本。暫停什麼都不退回,只是把未來收入往後推,延後或延長讓你花掉的是你贈送的那些免費天數的價值。這三種做法還都能留住客戶,而退款通常做不到。
資料來源與延伸閱讀
- Android Developers: Subscription lifecycle (pause durations, when a pause takes effect, access and resume behavior)
- Android Developers: Manage subscriptions and one-time purchases (deferred billing, one day to one year per call, SUBSCRIPTION_DEFERRED)
- Google Play Developer API: Method purchases.subscriptionsv2.defer
- Google Play Help: Cancel, pause, or change a subscription on Google Play
- Apple Developer: Extending the renewal date for auto-renewable subscriptions (twice per calendar year, up to 90 days each, no charge)
- Apple Developer: Extend Subscription Renewal Dates for All Active Subscribers
- Google Play Console Help: chargeback cost responsibility for orders after August 3, 2026
RefundHalt
App Store 與 Google Play 的退款自動駕駛
繼續閱讀
一次糟糕的 App 更新可能引發一波退款,以下教你如何在它波及你的收款之前將其遏制
一次失敗的發布,是少數幾個你能在幾分鐘內加以控制的退款誘因之一。糟糕的 App 更新給付費使用者送上要求退款的理由,而那筆銷售額只是你損失中最小的一部分。以下談談如何在各家應用商店叫停它,以及一波退款的真實代價。
大多數應用程式拒付都能在銀行介入之前被預防,而現在阻止一次,省下的比那筆交易還要多
應用程式拒付如今是一筆交易被追回時最昂貴的方式,因為對於在 August 3, 2026 之後下單的訂單,Google Play 會把成本壓到開發者頭上。大多數爭議都始於混淆或詐欺,而這些你都能提前化解。這裡就是操作手冊,以及一次敗訴的爭議真正會讓你付出的代價。