Google Play 預付方案的退款規則與訂閱不同,漏掉一次儲值確認就可能撤銷整個方案
預付方案永遠不會自動續訂,因此使用者無法取消,只能儲值延長。本文說明 Google Play 預付方案退款如何判定、未確認的儲值會讓你付出什麼代價,以及哪個 API 呼叫會退還哪筆款項。

重點摘要
- Google Play 預付方案在固定的帳單週期內提供存取權,到期後不會自動續訂。使用者透過購買儲值來延長期限。Google 表示預付方案無法取消,因為它們只會持續到到期日為止。
- 每一次 Google Play 預付儲值都是一筆新的購買,附帶新的購買憑證,前一個憑證會出現在 linkedPurchaseToken 欄位中。每次儲值時,Google 都會傳送一則 SUBSCRIPTION_PURCHASED 通知。
- Google Play 要求開發人員確認每一筆預付購買與儲值。為期一週以上的方案有 3 天時間,不到一週的方案只有方案期間的一半,因此三天方案只有 1.5 天。
- 如果開發人員錯過 Google Play 預付儲值的確認期限,Google 會撤銷該筆儲值,撤銷並取消剩餘的訂閱,並退款給使用者。
- Google Play 說明中心告訴使用者,尚未使用的預付方案可以退款,而在購買超過 48 小時後提出的退款要求會轉交給開發人員處理。
- Google 將 purchases.subscriptionsv2.revoke 的 fullRefund 選項描述為退還每個項目的最近一筆扣款。因此在儲值過的預付方案上,它針對的是最近一筆扣款,而不是使用者曾買過的每一筆儲值。
- 對於 2026 年 8 月 3 日之後成立的 Google Play 訂單,若退單爭議敗訴,開發人員須承擔扣除 Play 服務費後的購買價格,再加上銀行收取的退單費用。預付儲值和其他訂單一樣適用這項規定。
只要漏掉一次 Google Play 儲值的確認,Google 不會只退還那一筆儲值。它會撤銷該筆儲值,撤銷並取消使用者預付方案的剩餘部分,然後發放退款。這是 Google Play 預付方案退款中最鋒利的一道邊緣,而它完全在你的掌控之中。預付方案其餘的退款情況與一般訂閱相去不遠,但有幾項差異會改變你的實作方式與損失。
Google Play 預付方案與自動續訂訂閱有何不同
預付方案是一種基本方案,它販售一段固定帳單週期的存取權,到期即停止。Google 的 Play Console 說明指出,使用者購買它以取得該期間的權益,若想繼續使用,就透過儲值延長結束日期。儲值可以是同一訂閱下的任何預付基本方案,期間長度也可以不同。Google 自己舉的例子是以一筆 $59.99 的儲值將方案延長一年。
既然沒有任何續訂,也就沒有什麼可以取消。Google 的帳單文件指出,預付方案無法取消,想退出的使用者只要讓方案跑到到期日即可。預付方案的訂閱狀態只會是 ACTIVE、PENDING 或 CANCELED,而且 expiryTime 一定存在。
在定期扣款受到限制的地區,預付方案最為重要。RevenueCat 的指南以印度為例:由於 Reserve Bank of India(印度儲備銀行)的規定,Google 暫停讓新使用者訂閱自動續訂方案,該指南認為預付方案顯然適合這類市場。
| 自動續訂基本方案 | 預付基本方案 | |
|---|---|---|
| 自動續訂 | 是 | 否,使用者需購買儲值 |
| 使用者能否取消 | 能 | 不能,持續到 expiryTime 為止 |
| 免費試用與優惠 | 有 | 無,優惠僅適用於自動續訂基本方案 |
| 新的購買憑證 | 升級、降級或重新訂閱時 | 每次儲值時 |
| 確認 | 每筆新購買後 3 天內 | 一週以上的方案為 3 天,較短方案為期間的一半 |
| 能否暫停 | 能 | 不能 |
每次儲值都是一筆獨立的購買
Google 會為每次儲值核發新的購買憑證,並在新購買的 linkedPurchaseToken 中放入前一個憑證。Google 也會為每次儲值傳送一則 SUBSCRIPTION_PURCHASED 即時開發人員通知。儲值可以累加。如果使用者提前儲值,新增的時間會接在原本的到期日之後,而不是從今天起算。使用者同一時間只能持有一筆尚未消耗的儲值,prepaidPlan.allowExtendAfterTime 會告訴你下一次儲值何時開放。
預付退款從確認期限開始
你必須確認每一筆預付購買,包括每一次儲值,因為使用者每次都會走一次購買流程。Google 給一週以上的方案 3 天時間。不到一週的方案只有其期間的一半,因此三天方案必須在 1.5 天內確認,一天方案必須在 12 小時內確認。
這就是短期預付方案比看起來風險更高的原因。每週或每月的自動續訂方案每次都給你同樣的 3 天。一天期的預付通行證只給你 12 小時,後端一旦停擺超過這段時間,付費使用者就會自動變成退款。RevenueCat 的指南也提出同樣的看法,提醒在基本方案只有 1 天或 3 天時,第二筆訂單必須盡快確認。
誰來決定預付方案退款
大多數 Google Play 預付方案退款都不經過你決定。Google 的退款政策規定,使用者在應用程式內購買(包括訂閱)後 48 小時內可能獲得退款,實際視情況而定。超過 48 小時後,使用者會被告知聯絡開發人員,由開發人員依自己的政策和適用法律處理退款。Google 的訂閱說明頁面還專為預付方案補充一句:如果方案尚未使用,使用者可以申請退款。
| 退款途徑 | 由誰決定 | 你能否回應 | 期限 |
|---|---|---|---|
| 購買或儲值後 48 小時內提出 | 否 | 無 | |
| 48 小時後提出 | 你,依你的政策和當地法律 | 不適用 | Google 未設定 |
| 未確認的購買或儲值 | 自動 | 否 | 3 天,不到一週的方案為期間的一半 |
| 標記為需開發人員審查的退單 | 先 Google,後銀行 | 能,透過 orders.reviewrefund | 24 小時 |
| 不需開發人員審查的退單 | 銀行 | 否 | 無 |
預付方案不會改變退單規則。當 Google 請你就爭議提出說明時,你有 24 小時可透過 orders.reviewrefund 回覆,銀行一旦做出裁決,結果即為最終決定。
預付方案上哪個 API 呼叫退還什麼
當退款要求落到你手上時,你有兩個伺服器端工具,而它們退還的內容並不相同。
orders.refund 一次處理一筆訂單
orders.refund 依訂單 ID 退還訂閱訂單或應用程式內訂單。將 revoke 設為 true,存取權會立即終止。Google 不會退還超過 3 年的訂單。由於每次儲值都是獨立的購買,退還某次儲值對應的訂單,就是只退還那一次儲值的精確做法。
purchases.subscriptionsv2.revoke 作用於整個訂閱
purchases.subscriptionsv2.revoke 會終止訂閱,並接受一個 revocationContext。Google 將 fullRefund 描述為退還每個項目最近一筆扣款的全額,將 proratedRefund 描述為依剩餘時間按比例退款。在儲值過兩次的方案上,最近一筆扣款就是最後一次儲值。在向使用者承諾退還全部餘額之前,請先把這點考慮進去。
不要收回使用者仍應享有的存取權
Google 的帳單文件警告,在使用者仍享有權益時移除其訂閱存取權,違反 Google Play 的訂閱政策。在預付方案上,已付費的時間就是權益。如果你只退還最近一次儲值,就應讓先前已付費的時間繼續有效,除非你也撤銷並退還了那部分。

預付方案退款讓你付出什麼代價
預付使用者為一段固定時間預先付了款,而從他們取得存取權的那一刻起,你就開始為他們花錢。退款把他們的錢退回去,你的這些支出卻留在原地。
- 運算資源:使用者在付費期間執行的每一次工作階段、同步或伺服器端作業,都是你已經付過錢的運算容量。
- API 呼叫:語音、翻譯、地圖、模型推論或任何按請求計費的第三方服務,費用照樣要付。
- 儲存空間:使用者建立的檔案和歷史紀錄會一直留在你的儲存帳單上,直到你刪除為止。
- 分潤支出:與這筆購買相關的營收分成、創作者分潤和推薦佣金,都已經從你的帳戶付出。
漏掉確認的情況代價最高。一筆 $59.99 的一年期儲值若確認太晚,損失的不只是這 $59.99。Google 還會撤銷剩餘的方案,於是使用者失去已經付費的存取權並拿到退款,而你為服務他們所產生的每一筆成本都已經花掉了。
預付方案開發檢查清單
- 在伺服器端確認每一次儲值,而不只是第一次購買,並針對幾小時後仍未確認的購買發出警示。
- 為短期方案設定專屬警示。一天方案只有 12 小時,三天方案只有 1.5 天。
- 儲存每個訂單 ID 和購買憑證,並沿著 linkedPurchaseToken 追溯,以便看到一位使用者背後完整的儲值鏈。
- 盡早處理購買憑證。Google 表示憑證僅在到期後 60 天內有效,之後 Developer API 就不再接受。
- 退還單次儲值時,對該儲值的訂單使用 orders.refund,不要假設 fullRefund 會涵蓋先前的儲值。
- 按每筆購買記錄使用情況,讓退單審查能在 24 小時的期限內得到真實的答覆。
- 一收到 SUBSCRIPTION_REVOKED 就立即撤銷存取權,因為此時方案狀態已變為過期。
常見問題解答
- 使用者可以取消 Google Play 預付方案嗎?
- 不行。Google 表示預付方案無法取消,因為它們不會自動續訂。方案會持續到到期日,使用者在那之前都保有存取權。想停止付費,只要不再購買儲值即可。
- 使用者可以就 Google Play 預付方案獲得退款嗎?
- 可以。Google 說明中心表示,未使用的預付方案可以退款,而且若在 48 小時內提出要求,Google 可能會退還任何應用程式內購買,包括訂閱。超過 48 小時後,Google 會請使用者聯絡開發人員,由開發人員依自己的政策和當地法律退款。
- 如果我沒有確認預付儲值,會發生什麼事?
- Google 會撤銷該筆儲值,撤銷並取消剩餘的訂閱,並退款給使用者。一週以上的方案必須在 3 天內確認,較短的方案必須在其期間的一半內確認,因此三天方案只有 1.5 天。
- 對預付方案執行 fullRefund 會退還每一次儲值嗎?
- 依 Google 的描述,不會。purchases.subscriptionsv2.revoke 的 fullRefund 選項退還的是每個項目最近一筆扣款的全額。每次儲值都是擁有獨立訂單的個別購買,因此想退還特定儲值時,請對該訂單使用 orders.refund。
- 預付方案支援免費試用嗎?
- 不支援。Google 的 Play Console 說明指出,優惠(包括免費試用和首期優惠價)只能為自動續訂基本方案建立。預付方案在購買時和每次儲值時都須全額付款。
資料來源與延伸閱讀
- Google Play Billing: Subscription lifecycle (prepaid plans, top-ups, acknowledgement)
- Play Console Help: Understanding subscriptions
- Google Play Help: Cancel, pause, or change a subscription on Google Play
- Google Play Help: Apps, games, and in-app purchases refund policies
- Google Play Developer API: orders.refund
- Google Play Developer API: purchases.subscriptionsv2.revoke
- Google Play Developer API: orders.reviewrefund
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- RevenueCat: Google prepaid plans
RefundHalt
App Store 與 Google Play 的退款自動駕駛
繼續閱讀
過多的退款申請,代價可能遠超退款本身,因為兩大 App 商店都把它視為品質訊號
Apple 審查準則 5.6.4 把過多的退款申請列為 App 未達品質標準的跡象,Google 的開發人員發布協議也允許它依退款率下架新開發人員的 App。本文整理兩家商店的原文、下架的實際成本,以及如何避開風險。
在處理退款之前先驗證 App Store 伺服器通知,因為任何人都能向你的 webhook URL 發送請求
在檢查簽章之前,一則退款通知只不過是一個 HTTPS 請求。本文說明如何驗證 App Store 伺服器通知和 Google Play RTDN 訊息、各商店簽署的內容,以及偽造的退款或遭錯誤拒絕的退款會讓你付出什麼代價。