消耗型應用程式內購買的退款會讓你付出雙倍代價,因為你早已花錢把它交付出去了
消耗型的應用程式內購買,一組金幣、一包寶石、一批 AI 額度,是你在任何人開口要退款之前就已經花錢交付出去的那種購買。以下說明消耗型退款在 App Store 與 Google Play 上會讓你付出多少代價,以及你的回覆真正能發揮作用的那個唯一時窗。

重點摘要
- 消耗型應用程式內購買在購買的當下就被兌換掉了。金幣、寶石、額度與生成包在顧客想到退款之前,就已經變成運算、API 呼叫與交付出去的內容,這就是為什麼消耗型退款會逆轉價格,卻永遠無法逆轉你早已付出的成本。
- 在 App Store 上你無法核發或封鎖消耗型退款。Apple 透過 reportaproblem.apple.com 決定每一筆。你唯一能提供的意見就是 CONSUMPTION_REQUEST 通知,它給你 12 hours 把消耗資訊回傳。
- CONSUMPTION_REQUEST 會針對消耗型商品與自動續訂訂閱觸發,而對消耗型商品來說你的回覆更重要,因為 Apple 無法像對訂閱那樣從經過的時間推斷使用情況。你回報的 consumptionStatus 與 consumptionPercentage 就是實際的證據。
- consumptionStatus 有四個值:0 未申報、1 未消耗、2 部分消耗、3 完全消耗。consumptionPercentage 是以千分位為單位的整數,其中 100,000 代表消耗了 100 percent。完全消耗的消耗型商品是你能提出用來反對退款的最有力理由。
- 在 Google Play 上你可以透過 Play Console 或 Order Management API 自行退款消耗型商品,並可選擇撤銷,但 Google 的 48 hours 自助退款完全不會徵詢你,而已花掉的消耗型商品事後也無法從你的經濟體系裡追討回來。
- 唯一會就消耗型爭議徵詢你意見的 Google Play 流程,是透過 orders.reviewrefund 進行的退單審查,你有 24 hours 可以回應。比這更快的一切都在沒有你的情況下決定。
- 從 August 3, 2026 起,Google Play 的退單會把購買價格扣除 Play 服務費,再加上銀行的退單費用,轉嫁到開發者身上。對一件你已經交付的消耗型商品而言,這會讓一筆有爭議的金幣包變成比銷售額本身更大的損失。
每一筆退款都很痛,但消耗型應用程式內購買的退款,是在你已經花掉錢之後才把錢拿回去的那一種。訂閱退款逆轉的是你可以關掉的存取權。非消耗型退款收回的是永久解鎖。消耗型商品不一樣。一組金幣、一包寶石、一批 AI 圖像額度、一個加成道具,在它落入顧客餘額的那一刻就被兌換掉了,等到退款要求出現時,金幣已經沒了、額度已經燒掉了,而產生輸出的運算也早已向你收費。這正是消耗型商品成為應用程式裡最尖銳退款問題的原因,也是為什麼那些關於證明價值的常見建議在這裡救不了你。
消耗型退款與其他每一種退款有何不同
商店把每種購買類型視為三種東西之一,而退款落在每一種上的方式各不相同。這個差異不是空談。它決定了你有多少成本能回來。
消耗型商品在你交付的那一刻就被花掉
非消耗型商品,例如永久關卡解鎖或移除廣告,會留在帳號上。訂閱授予你可以撤銷的限時存取權。消耗型商品在兌換時就用盡了。顧客買了 1,000 枚金幣,花 600 枚在一個呼叫了你伺服器的功能上,那 600 枚就沒了。這份價值並非留存等待評判。它當場就被轉換成你要付出的成本。
這正是商店一開始就為消耗型商品另建一套退款證據流程的原因。對訂閱來說,商店可以推算已付期間過了多少。對消耗型商品來說,沒有可讀的時鐘。要嘛你交付了金幣、顧客用掉了,要嘛你沒有,而只有你的伺服器知道是哪一種。
已經消耗掉的東西你無法收回交付
當一筆消耗型退款獲准時,錢逆轉了,但金幣不會自己取消花費。如果顧客買了一個額度包,用它生成了四十張圖像,然後拿到退款,你就付了四十次生成的錢卻一無所得。撤銷剩餘餘額是你最多能做的事,而且要在還有剩的情況下才行。完全消耗的消耗型商品沒有留下任何可以收回的東西。
消耗型應用程式內購買退款實際上讓你付出什麼代價
消耗型退款檯面上的數字是從你帳上消失的銷售價格。真正的數字是銷售價格,再加上你為了把那筆購買轉換成交付價值而早已花掉的一切。第二部分的大多數永遠不會回來。
| 成本 | 你何時付出 | 退款時是否回來 |
|---|---|---|
| 為了完成金幣所買之物的運算或 GPU 時間 | 兌換時,退款之前 | 否 |
| 購買所觸發的第三方 API 呼叫 | 兌換時 | 否 |
| 交付輸出的儲存與頻寬 | 兌換時與兌換之後 | 否 |
| 商店對該銷售抽取的佣金 | 購買時 | 通常是,商店會逆轉自己的抽成 |
| 購買價格本身 | 購買時 | 否,全額逆轉給顧客 |
| 若演變成爭議,銀行的退單費用 | 扣款之後 | 否,而且在 Google Play 上你現在也要付它 |

退款逆轉的是價格,不是運算
假設顧客買了一個 $9.99 的 AI 額度包,並把它們全部花在生成輸出上。每一次生成都讓你付出一次真實的 API 呼叫。當 Apple 核准退款時,$9.99 退回去,Apple 也逆轉了自己的佣金,所以你回報的營收淨額歸零。你為那些生成付的運算帳單卻沒有歸零。你付了、它結清了,而且維持已付狀態。退款沒有碰到它。這正是 RefundHalt 當初打造時所針對的情況,因為經過的時間對消耗型商品什麼都證明不了,唯一的防線就是知道實際上交付了什麼。
App Store 這一側,你的回覆能發揮作用的那個唯一 12 hours 時窗
在 App Store 上你沒有退款開關。你無法核准消耗型退款,也無法拒絕。每一筆退款都由 Apple 逐一透過 reportaproblem.apple.com 決定。你得到的,是唯一一次發言機會,而且很狹窄。
CONSUMPTION_REQUEST 是 Apple 唯一會向你徵詢意見的地方
當顧客針對消耗型商品要求退款,而且該應用程式已啟用消耗資料共享時,你的伺服器會收到一則 CONSUMPTION_REQUEST 的 App Store Server Notification。接著你有 12 hours 可以用 Send Consumption Information 回覆。錯過時窗,決定就會在沒有你意見的情況下做出。Apple 特別為消耗型商品推出了這套流程,並在 2024 年把同一則通知擴及自動續訂訂閱。
回覆帶有一組欄位。對消耗型商品最重要的兩個,描述的是它被用掉了多少,以及你到底有沒有交付它。
| 欄位 | 它回報什麼 | 有份量的值 |
|---|---|---|
| consumptionStatus | 顧客用掉了多少該消耗型商品 | 0 未申報、1 未消耗、2 部分消耗、3 完全消耗 |
| consumptionPercentage | 已使用比例,以千分位為單位 | 100,000 代表消耗了 100 percent |
| deliveryStatus | 你的應用程式是否真的交付了可用的商品 | 已交付,或數種未交付原因之一 |
| refundPreference | 你偏好的結果 | 全額核准、按比例核准,或拒絕 |
| customerConsented | 顧客是否同意共享消耗資料 | 必須為 true,否則 Apple 會忽略其餘內容 |
為什麼你的回覆對消耗型商品比對訂閱更重要
對自動續訂訂閱來說,Apple 已經算出計費期間過了多少並依靠它。你的消耗回覆多半只是推動一項偏好。對消耗型商品來說沒有可衡量的已經過期間。你送出的 consumptionStatus 幾乎是 Apple 擁有的唯一使用訊號。如果你的伺服器能確切地說顧客消耗了整包的 100 percent,那就是可辯護交易與默默送禮之間的差別。如果 customerConsented 是 false,這些全都不會被讀取,所以同意必須在你的購買流程中,遠早於要求到來之前就取得。
Google Play 這一側,你可以退款但商品早已沒了
Google Play 給開發者的直接控制權比 Apple 多,但幫助卻比你以為的少,因為最快的退款途徑從不會到達你這裡。
48 hours 自助時窗完全繞過你
在購買後的 48 hours 內,Google Play 顧客可以透過商店要求退款,而且往往會自動獲得,無需你的參與。沒有人問你,你也無從置喙,而對消耗型商品來說,這意味著在你知道有要求發生之前,金幣已經花掉、錢也沒了。Voided Purchases API 是你事後得知此事的方式,好讓你撤銷還剩下的任何權益。
退款與撤銷,以及撤銷做不到的事
你可以透過 Play Console 或 Order Management API 自行核發消耗型退款,並附一個可選的撤銷參數把存取權收回。撤銷對會留存的東西運作得很乾淨,例如訂閱或耐久權益。它無法取消消耗型商品的花費。如果顧客已經把金幣變成交付出去的成果,撤銷就沒有東西可以收回,而你只能扛下履行成本,沒有任何銷售來抵銷。
當退單規則改變時,這在金錢上意味著什麼
退款與退單不是同一種損失,而對消耗型商品來說這個落差即將擴大。退款逆轉銷售並通常退還商店佣金。退單是顧客的銀行強行把錢拿回去,而且是最終的。
從 August 3, 2026 起,Google Play 把退單的成本轉嫁到開發者身上:購買價格扣除 Play 服務費,再加上銀行的退單費用。對一件你已經交付的消耗型商品而言,這筆算式非常殘酷。你付了運算來履行它,你失去了購買價格,現在你還要在上頭付銀行的費用。一筆有爭議的金幣包所付的代價,可能比好幾筆售出的所賺的還多。教訓不是事後去對抗退單,那你很少會贏,而是把不滿意的顧客留在退款途徑上,那裡損失較小、商店的抽成會回來,而不是走上爭議途徑,那裡則不會回來。
如何減少消耗型退款造成的損失
你無法阻止商店退款。你能確保的是,當它們退款時,你已經誠實交付、完整回覆,並在問題坐大之前看出型態。
在伺服器端交付並記錄下來
在你驗證交易之後才從你的伺服器授予消耗型商品,並針對交易 id 記錄交付與消耗的時刻。正是那筆記錄,讓你能用真實的 consumptionStatus 而非猜測來回覆 CONSUMPTION_REQUEST。一件你交付了卻無法證明有交付的消耗型商品,是一筆你會預設輸掉的退款。
回覆每一則 CONSUMPTION_REQUEST,而且據實回覆
每一次都在 12 hours 內回覆。回報真實的 consumptionStatus。對一個確實沒收到金幣的顧客誇大使用情況,反而會招來你原本想避開的退單,而退單是更昂貴的結果。誠實、完整、準時。整套打法就是這樣,而且唯有在要求落地之前資料就已備妥,它才管用。
把消耗型商品當作它們自己的退款群組來觀察
把消耗型退款混進你整體的退款率裡,訊號就消失了。要單獨追蹤它們。某一個金幣包或額度級距的退款激增,通常指向某個特定問題,一個壞掉的兌換、一個誤導的價格、一個交付內容比圖示所暗示更少的包。拿消耗型退款對照消耗型銷售,按產品區分,原因通常就一目了然。
精簡版
消耗型應用程式內購買的退款,是在你甚至還沒聽說之前就已經讓你付出代價的那種退款,因為在顧客購買的那一刻,金幣就被花掉、額度就被燒掉、運算就被計費了。Apple 讓你透過 CONSUMPTION_REQUEST 發言一次,為時 12 hours,而對消耗型商品來說那則回覆幾乎是唯一存在的證據。Google Play 讓你退款,卻很少先問你,而從 August 2026 起,一筆消耗型退單的代價比當初的銷售還高。在伺服器端交付、記錄你交付了什麼、據實回覆每一則要求,並把損失留在退款這條道上,而不是爭議那條道上。
常見問題解答
- 我可以自己退款消耗型應用程式內購買嗎?
- 在 Google Play 上,可以。你可以透過 Play Console 或 Order Management API 核發消耗型退款,並可選擇撤銷。在 App Store 上,不行。Apple 透過 reportaproblem.apple.com 決定每一筆退款,而你唯一能提供的意見就是 CONSUMPTION_REQUEST 通知,你有 12 hours 可以回覆它。
- 什麼是 CONSUMPTION_REQUEST,我有多久可以回應?
- CONSUMPTION_REQUEST 是當顧客針對消耗型商品要求退款、且已啟用消耗資料共享時,Apple 送出的 App Store Server Notification。你有 12 hours 可以用 Send Consumption Information 回覆,回報 consumptionStatus 與 consumptionPercentage 等欄位。錯過時窗,Apple 就會在沒有你意見的情況下決定。
- 為什麼我的消耗回覆對消耗型商品比對訂閱更重要?
- 對訂閱來說,Apple 會算出計費期間過了多少並依靠它,所以你的回覆多半只是設定一項偏好。對消耗型商品來說沒有可衡量的已經過時間,所以你回報的 consumptionStatus 幾乎是 Apple 擁有的唯一使用證據。完全消耗的消耗型商品是你能送出的最有力事實。
- 如果一筆消耗型退款獲准,我拿得回運算成本嗎?
- 拿不回。退款逆轉購買價格並通常逆轉商店佣金,但你為交付該消耗型商品所花的運算、API 呼叫與儲存早已被計費,且維持已付狀態。這正是為什麼消耗型退款讓你付出的代價超過銷售價格本身,也是為什麼證明交付是唯一真正的防線。
- August 2026 的 Google Play 退單變更如何影響消耗型商品?
- 從 August 3, 2026 起,Google Play 的退單會把購買價格扣除 Play 服務費,再加上銀行的退單費用,轉嫁到開發者身上。對一件你已經交付的消耗型商品而言,你會同時損失履行成本、銷售價格與銀行費用,所以一筆有爭議的包所付的代價,可能比好幾筆售出的所賺的還多。把顧客留在退款途徑而非退單途徑上,才是較便宜的結果。
資料來源與延伸閱讀
- Apple Developer: Send Consumption Information (App Store Server API)
- Apple Developer: consumptionStatus values
- Apple Developer: ConsumptionRequest fields
- Apple: Request a refund at reportaproblem.apple.com
- Google Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method orders.refund
- Google Play Developer: Voided Purchases API
- Google Play Console Help: Updates to refund protection and chargeback cost responsibility (August 3, 2026)
RefundHalt
App Store 與 Google Play 的退款自動駕駛
繼續閱讀
兒童未經授權的應用程式內購買幾乎每次都會退款給家長,而成本由你承擔
當孩子在家長的手機上購買一個金幣包時,Apple 和 Google 都會退款,而且沒有一方會先詢問你。監管機構就是這樣設計的。以下說明這些未經授權的應用程式內購買退款在各個商店如何運作,錢流失的那 15 分鐘視窗,以及一筆退款實際上讓你付出多少代價。
你從未擁有那筆應用程式退款稅,因此退款花費的是你的分成,而非收據上的總額
退掉一筆應用程式內購買,收據上會顯示價格加稅一併退回。那筆稅從來就不是你的錢。Apple 和 Google 以登記商家的身分收取並繳納,退款時再原路沖回,完全不碰你的分成。以下說明退款實際花費多少,以及唯一一種會讓稅變成你的責任的設定。