每一個 App Store 與 Google Play 的退款視窗都是倒數計時,這裡列出每一個給你多少小時
App Store 與 Google Play 的每一筆退款都會啟動一個時鐘,而其中大多數不需要你就自行走完。Apple 最短的退款視窗是 12 小時,Google 的退單視窗是 24 小時,而從 2026 年 8 月 3 日起,錯過退單視窗就是一筆帳單,而不只是流失一筆銷售。這裡列出每一個會影響你帳戶的期限。

重點摘要
- Apple 給你剛好 12 小時,用 Send Consumption Information 回覆 CONSUMPTION_REQUEST。錯過那個退款視窗,Apple 通常會預設核准退款。
- Google Play 給你 24 小時,透過 orders.reviewrefund 回覆退單通知。Google 只記錄你的第一次呼叫,並忽略之後每一次,所以你得到的是一次回應,而不是一場對話。
- Google Play 上的 48 小時自助退款完全不需要你就自行走完。在 48 小時內提出要求的買家,或最快的情況約 2 小時,就會取得自動退款,而你通常永遠不會看到這筆要求。
- 如果你沒有在 3 天內確認一筆 Google Play 購買,Google 會退款給買家並自行撤銷該筆購買。那個時鐘走在你的伺服器上,而不是走在客戶那邊。
- Voided Purchases API 只回溯 30 天。它的 startTime 無法設定得比 30 天前更早,所以一筆你從未輪詢過的退款,可能會從唯一會回報它的清單中逾期消失。
- 透過 orders.refund 的開發者退款是你唯一能完全掌控的時鐘,而它走 3 年。之後,一筆訂單就再也無法透過 API 退款。
- 從 2026 年 8 月 3 日起,一筆你未在 24 小時視窗內爭議的 Google Play 退單,可能讓你損失購買價格扣除 Play 服務費,再加上銀行的退單費用。現在,錯過一個視窗是錢流出去,而不只是流失一筆銷售。
App Store 與 Google Play 的每一筆退款都在某處啟動一個時鐘,而這些時鐘大多不需要你就自行走著。退款視窗只是期限在商店自行決定之前,給你採取行動的時間。Apple 走的最短視窗是 12 小時。真正讓你花到錢的最短視窗是 24 小時。錯過任一個,退款通常就會預設核准,而在 Google Play 上,從 2026 年 8 月 3 日起,錯過一個退單視窗現在還可能讓你損失購買價格,外加銀行費用。這裡列出每一個會影響你帳戶的退款視窗、每一個給你多少時間,以及當它關閉時要付出什麼代價。
真正會向你索取證據的兩個視窗
在兩家商店的所有退款流程中,只有兩個曾停下來問你知道什麼。兩者都很短,兩者都容易睡過頭錯過,而且兩者在關閉的那一刻就把決定權交給商店。如果你要圍繞任何東西來打造退款處理,就圍繞這兩個來打造。
Apple 給你 12 小時送出消費資訊
當客戶對一筆消耗型商品(consumable)或某些非續訂購買要求退款時,Apple 會透過 App Store Server Notifications V2 向你的伺服器發送一則 CONSUMPTION_REQUEST。從那一刻起,你有 12 小時透過 Send Consumption Information 端點,以 Apple 要求的訊號回覆。及時回覆,你的資料就會餵入決策。保持沉默,正如 Apple 自家的工具合作夥伴直白地說,Apple 通常會預設核准退款。時鐘不會在意這則通知是在你當地時間凌晨 3 點抵達的。
Google Play 給你 24 小時審查退單
當買家向銀行對一筆扣款提出爭議時,Google Play 可能會在對抗退單之前請你表達意見。Google 的指引很明確:評估該要求,並在通知後的 24 小時內透過呼叫 orders.reviewrefund 回應。機制上還有一個陷阱。Google 會記錄你回應某則通知的第一次 API 呼叫,並忽略後續呼叫,同時仍回傳 OK 狀態。你不會得到一份草稿再加一次修訂。你的第一個答案就是你唯一的答案。
那些從不徵詢你就關閉的視窗
其餘的退款時鐘不是邀請。它們自行走動,等到你能看見它們時,結果早已定案。就算如此,認識它們仍然重要,因為每一個都照樣把錢從你的帳戶移出去。
48 小時自助退款
在 Google Play 上,買家可以在購買後 48 小時內,直接從商店自行退掉大多數應用程式與應用程式內購買。最快的情況約 2 小時內完成。Google 會自動核准這些退款,而在其中大多數情況下,開發者根本不會被聯絡。這裡沒有讓你爭議的視窗,因為這個視窗從來就不是你的。它是買家的。
3 天確認期限
這個容易被遺忘,因為它看起來像工程細節,而不是退款。如果你使用 Google Play Billing,卻沒有在 3 天內確認一筆購買,Google 就會退款給買家並替你撤銷該筆購買。一項你忘了在後端確認、已出貨的功能,會在第四天變成一筆自動退款。時鐘走的是你伺服器的行為,這意味著你確認流程中一個無聲的錯誤,正在無聲地把錢退回去。
30 天 voided purchases 視窗
當一筆購買被退款或撤銷時,Voided Purchases API 是你的後端事後得知此事的途徑。那份清單的記憶只有 30 天。它的 startTime 無法設定成比 30 天前更早的值,而且記錄是依 Google 看見該筆購買被作廢的時間來篩選,而不是依它被購買的時間。如果你的伺服器停止輪詢一個月,那段空檔的退款就會從尾端掉落,而你永遠不會得知它們發生過。
你掌控的那一個時鐘,而它走三年
恰好有一個退款視窗是你從頭到尾擁有的。使用 orders.refund,你可以自行、按自己的步調,在購買後的 3 年內退掉一筆 Google Play 訂單。Google 不會問為什麼。過了第三年,該訂單就永遠遙不可及,所以就連你掌控的時鐘也有一個硬性終點。當你已經預期會失去一筆訂單時,這就是你該伸手去用的視窗,因為你主動發出的退款,比你打輸的退單更便宜,這個觀點下一節會用數字呈現。

錯過一個視窗要花多少錢
退款從來不只是銷售價格再流出去而已。等到一筆退款出現時,你通常已經花了錢去服務那筆購買。一張生成影像背後的 GPU 分鐘數、模型的 API 呼叫、使用者所儲存內容的儲存空間、你付給創作者的款項:那些花費已經消失,不會隨退款回來。視窗決定的是,你是否還會連銷售價格一併損失掉,以及是否會有一筆銀行費用一起搭上。
24 小時退單視窗就是那個數字改變了的視窗。Google Play 的說明文件對新的分攤方式說得很直接:對於在 2026 年 8 月 3 日當天或之後成立的訂單,當一筆退單成立時,開發者須承擔購買價格扣除 Play 服務費,再加上金融機構相關的退單費用,而 Google 仍只承擔自己的服務費。在那個日期之前,損失的是銷售。在那之後,一筆你沒有爭議的退單,就是銷售再加上銀行費用。
| 你錯過的視窗 | 誰的時鐘 | 它讓你付出什麼 |
|---|---|---|
| CONSUMPTION_REQUEST,12 小時 | 你的 | 退款,通常預設核准,再加上你已為服務該筆購買所花的一切 |
| 退單審查,24 小時 | 你的 | 購買價格扣除 Play 服務費,加上銀行的退單費用,適用於 2026 年 8 月 3 日起的訂單 |
| 自助退款,48 小時 | 買家的 | 銷售,自動退款,沒有讓你行動的視窗 |
| 確認,3 天 | 你伺服器的 | 銷售,自動退款並撤銷,往往是一筆你本想保留的購買 |
| Voided Purchases 回溯,30 天 | 你的,透過輪詢 | 不是退款本身,而是關於它的資訊,於是你本該切斷的存取權仍然有效 |
所有退款視窗一螢幕看盡
六個時鐘,三個你能在其中行動,三個對你行動。放在同一處,它們就容易記在腦中,而模式很清楚:給你發言權的視窗以小時計,而以天計的那些早已做出決定。
| 退款視窗 | 多長 | 誰行動 | 錯過它就 |
|---|---|---|---|
| CONSUMPTION_REQUEST(Apple) | 12 小時 | 你 | Apple 通常會預設核准退款 |
| 退單審查,orders.reviewrefund(Google) | 24 小時 | 你 | Google 在沒有你的證據下做決定,而從 2026 年 8 月 3 日起,一筆打輸的退單會向你收取價格加銀行費用 |
| 自助退款(Google) | 48 小時 | 買家 | 無事可做;退款是自動的,你很少會看到它 |
| 購買確認(Google) | 3 天 | 你的伺服器 | Google 自動退款並撤銷該筆購買 |
| Voided Purchases API 回溯(Google) | 30 天 | 你,透過輪詢 | 作廢的訂單從清單中逾期消失,而你永遠不會得知它被退款 |
| 開發者退款,orders.refund(Google) | 3 年 | 你 | 該訂單就再也無法透過 API 退款 |
如何確保你永遠不會錯過那兩個重要的視窗
你贏不了那些從來不是你的視窗,所以把心力花在屬於你的那兩個上。兩者都以通知的形式來到你面前,兩者都懲罰慢吞吞的回覆,所以整場賽局就是在人類還沒醒來之前,把一則通知轉化成一次自動回應。
在 12 小時內接住 CONSUMPTION_REQUEST
- 訂閱 App Store Server Notifications V2,並把 CONSUMPTION_REQUEST 當成緊急事項,而不是佇列中又一則事件。
- 讓 Apple 要求的消費訊號隨時可依需求組裝,這樣回覆就是一次查詢,而不是一項研究專案。
- 遠在 12 小時之內就透過 Send Consumption Information 回覆,並記錄該回應,因為一次無聲的錯過,日後與一筆已核准的退款無從區分。
在 24 小時內接住退單
- 監聽退單通知,並把它導向一個無論白天黑夜都能觸發回應的地方,因為 24 小時走的是時鐘,不是你的辦公時間。
- 帶著你的退款偏好與任何購買使用證據,呼叫 orders.reviewrefund 一次,並在第一次就做對,因為 Google 只保留你的第一次呼叫。
- 記錄你已回應,這樣日後一筆打輸的退單就是一個你能複查的決定,而不是一團謎。
無論你是否在盯著,商店都會持續走著這些時鐘。你唯一能做的選擇,是那兩個索取你這一方的視窗,究竟是找到一個等著的答案,還是找到沉默,然後在沒有你的情況下做決定。
常見問題解答
- 我有多少時間回應 Apple 的退款要求?
- 十二小時。Apple 的 CONSUMPTION_REQUEST 給你 12 小時透過 Send Consumption Information 端點回覆,而如果你錯過那個視窗,Apple 通常會預設核准退款。
- 我有多少時間對抗 Google Play 的退單?
- 24 小時。你在通知後 24 小時內呼叫 orders.reviewrefund 來回應,而 Google 只記錄你的第一次呼叫,所以你的第一個答案就是算數的那一個。
- 我能在最初的 48 小時內攔下一筆 Google Play 退款嗎?
- 不行。48 小時自助退款由 Google 自動核准,不會徵詢開發者,所以沒有讓你爭議的視窗。你通常甚至不會看到那筆要求。
- 如果我沒有及時確認一筆 Google Play 購買會怎樣?
- Google 會在 3 天後退款給買家並撤銷該筆購買。確認期限走在你的伺服器上,所以一筆未確認的購買會變成一筆自動退款,無論你是否有意如此。
- Voided Purchases API 能顯示多久以前的退款?
- 30 天。該 API 的 startTime 無法設定得比 30 天前更早,而且記錄是依 Google 看見該筆購買被作廢的時間來篩選,所以一筆你從未輪詢過的退款,可能會完全從清單中逾期消失。
- 我能自行退款一筆 Google Play 訂單多久?
- 三年。orders.refund 方法讓你退款任何三年以內的訂單,而在那之後,該訂單就透過 API 永遠遙不可及。
資料來源與延伸閱讀
- Apple Developer: Send Consumption Information (App Store Server API)
- Android Developers: Help Google dispute chargebacks (orders.reviewrefund)
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- Android Developers: One-time purchase lifecycle and acknowledgment
- Google Play Developer API: Voided Purchases API
- Google Play Developer API: Method orders.refund
- Google Play Help: Learn about Google Play refund policies
RefundHalt
App Store 與 Google Play 的退款自動駕駛
繼續閱讀
已作廢購買通知讓您的 Google Play 伺服器在退款發生的當下立即撤銷存取權限
Google Play 可以在購買被退款、發生退單或作廢的當下,將已作廢購買通知推送到您的伺服器。它攜帶 purchaseToken、orderId、productType 和 refundType,而它只代表一件事,撤銷存取權限。以下說明如何讀取它並完成串接。
你可以自己為 Google Play 訂單退款,在拒付發生前處理還能省下銀行手續費
對任何三年以內的 Google Play 訂單,你都可以用一次 API 呼叫退款,退款時可選擇是否撤銷存取權限。在爭議演變成拒付之前自己先退款,能省下從 2026 年 8 月 3 日起落到開發者頭上的銀行手續費。以下說明 orders.refund 的用法。