面向应用开发者的退款机制、商店政策变化和收入防护策略。
当孩子在家长的手机上购买一个金币包时,Apple 和 Google 都会退款,而且都不会先征询你的意见。监管机构就是这样设计的。下面介绍这些未经授权的应用内购买退款在每个商店如何运作、资金流失的那 15 分钟窗口,以及一次退款到底会让你付出多少代价。
阅读文章
为一笔应用内购买办理退款,收据上会显示价格加税一并退回。那笔税从来都不是你的钱。Apple 和 Google 作为登记商户负责收取并上缴,退款时再以同样方式冲回,完全不动你的那一份。这篇讲清楚一笔退款到底损失多少,以及唯一一种让税变成你责任的设置。
当客户升级到更高档位时,商店会为旧套餐上未使用的天数发放一笔订阅升级退款,并自动减少你的收入。本文讲清升级退款在 App Store 和 Google Play 上的运作方式,以及 Apple 为何不把这个金额发给你的服务器。
退款不是一笔更小的销售,而是商店从后续付款中抽回的钱,通常在销售发生数周之后,有时甚至直接从你的银行账户扣除。本文说明退款款项在 App Store 和 Google Play 上究竟何时离开,以及为什么你的付款永远和仪表盘对不上。
针对终身解锁、去广告升级或永久专业版的一次性购买退款,是你真正能撤销的那种退款,因为你可以把功能收回来。这里说明它在 App Store 和 Google Play 上的成本,为什么 Apple 从不先征询你的意见,以及如何让 revoke 真正生效。
把你的计费迁出 App Store 或 Google Play,Apple 和 Google 就不再处理你的退款。以下是替代计费退款实际会让你付出多少代价,为什么商店的退款审核流程会消失,以及当银行强制发起拒付时由谁买单。
消耗型应用内购买,比如一包金币、一捆宝石、一批 AI 额度,是你在有人要求退款之前就已经花钱交付出去的那一种购买。这里讲的是消耗型退款在 App Store 和 Google Play 上会让你损失什么,以及唯一一个你的回应真正算数的窗口。
从免费试用转为付费方案,是大多数订阅退款的起点,因为用户忘记取消,而他们看到的第一件事就是这笔扣款。本文讲述免费试用退款在 App Store 和 Google Play 上会让你付出什么代价,为什么你很难对其提出异议,以及如何加以阻止。
Apple 和 Google 发送到你服务器的每一笔退款都带有一个原因代码。Google Play 为每次作废标记九种原因之一和一个来源,Apple 则标示退款是否归咎于你的应用。这里说明每个代码的含义,如何将它们分类为修复、争辩或接受,以及它们在金钱上值多少。
大多数应用退款和拒付都是由 Apple、Google 或银行在不征询你意见的情况下决定的。真正能减少应用退款的地方在于:及时确认购买、可靠地交付、为每个账户打标记,并在钱款流出前回应两个证据窗口。
客户以为他们只有 48 小时可以申请应用退款。真正的窗口要长得多。Apple 最长可在购买后 90 天内受理退款请求,而银行拒付最长可在购买后 120 天内撤销一笔 Google Play 交易。这里列出让你的收入始终处于可撤销状态的每一个时钟,以及这条长尾会带来多少成本。
当客户向 Apple 申请退款时,你有 12 小时来发送消耗数据。Apple 自己的文档称它是众多因素之一,而不是最终裁决。以下是你的数据实际能撼动什么,为什么一个 DECLINE 最终仍可能退款,以及这次推动到底值多少钱。
Google Play 允许你为每一笔购买盖上一个稳定的哈希 id,并在争议发生时把它读回给你。设置好它,一次拒付审查就能精确对应到你必须上报其使用情况的那个用户。跳过它,你就只能在 24 小时的时限内拿着一个孤零零的订单 id 去猜。
当客户无法辨别你的应用向他们收取了什么费用时,他们会打电话给银行而不是联系你,于是这场纠纷就变成了拒付。Apple 把所有费用都显示为 apple.com/bill,并且不让你更改任何内容。Google Play 允许你设置账单显示名称。以下是各自的代价以及你能掌控的部分。
当 App Store 撤销它已经批准的退款时,它期望你的服务器恢复你此前收回的访问权限。以下说明退款、退款被拒和退款撤销这些通知在 App Store 和 Google Play 上如何运作,以及当你忽略它们时每一种各会付出什么代价。
当客户获得退款时,Apple 和 Google 都会把各自的佣金退还给你,所以你损失的并不是应用商店的抽成。本文讲清楚谁为你应用上的退款买单,你的收款里实际流走了什么,以及为什么拒付比普通退款代价更高。
取消订阅只是让商店停止下一次扣款,客户在本期结束前仍保留访问权限,没有任何款项流动。退款则会撤销一笔已经完成的付款,并连同访问权限一起收回。本文讲清两者的分界点、各自让你付出什么代价,以及为什么只有退款才会抵达你的服务器。
消耗型、非消耗型、自动续订订阅和非续订订阅,各自遵循自己的退款规则。有些可以恢复,有些一旦花掉就消失,而只有消耗型请求和订阅请求才会向开发者索取证据。以下说明你所销售的应用内购买类型如何改变退款对你的影响。
应用退款法律在欧盟、英国和美国各不相同,但对大多数应用销售而言结果是一样的。欧盟的14天撤回权通常在结账时被放弃,美国买家依赖商店政策,而没有任何法定退款让你有机会回应。只有两条商店流程会征询你的一方。
友好欺诈是指真实客户购买了你的应用内购买项目,用完之后,再告诉银行这笔扣款有问题。商品已经消耗,钱却退了回去。以下是它给应用开发者带来的成本、它为何在上升,以及 Apple 和 Google 留给你反击的那段短暂窗口。
Apple 大约两天就会对 App Store 退款作出决定,但退回银行卡的钱最长要 30 天,退到话费账单上最长要 60 天。以下是按支付方式划分的真实 App Store 退款处理时间、Google Play 的对比情况,以及为什么一笔太慢的退款会变成一笔你无法申诉的拒付。
Apple 用两份报告展示退款,Google 又用两份,你的服务器还会看到第四种。这些数字没有一个能对上,而且这些差异是有意为之。这里解释为什么每个渠道对退款的归属方式各不相同,以及如何按笔交易将退款报告与你自己的记录核对。
在 Google Play 上,你可以在 Console 中按百分比或按金额退还一笔订单的一部分,并与 Google 的手续费一起分摊损失。在 App Store 上,你根本无法发起任何退款。下面讲清楚部分退款在每家商店如何运作,以及它会让你付出多少成本。
大多数移动应用的退款率在已支付交易的 2% 到 5% 之间,但 Apple 和 Google 把这个数字放在不同的后台里。本文告诉你去哪里查看你的应用退款率,按订阅周期和品类划分的正常水平是多少,以及扣除费用后每一笔退款真正花掉你多少钱。
Apple 会把一条退款通知重试最多五次,而 Google Play 依托 Pub/Sub 的至少一次投递,因此同一笔退款可能不止一次到达你的服务器。以下讲解如何处理重复的退款通知,同时不会扣错余额或重复消耗 API 配额。
一次 Family Sharing 退款只撤销一笔付款,但可能让多达五名家庭成员仍在使用你的付费功能。Apple 会发送一个 REVOKE,并期望你的服务器终止访问权限。下面讲讲家庭共享退款如何运作,以及一次退款的代价。
你的退款处理只有在客户已经离开之后才会运行,所以其中的缺陷会一直隐藏,直到它真的让你损失金钱。两大商店都允许你先在测试环境中触发一次退款。这里说明如何在退款成真之前,先在 App Store 和 Google Play 上测试应用内购买退款。
退还的价格是账单上最小的一项。退款也会同时冲回商店的分成,所以你损失的是自己的那份,而你为交付这笔购买已经花掉的算力、API 调用、存储和支付都收不回来。2026 年 8 月 3 日之后的 Google Play 拒付还会额外加上银行的手续费。这是完整的账单。
订阅退款撤销的是整个计费周期,而不是单笔销售。在 App Store 上,由 Apple 做决定,你的服务器只会得知结果。在 Google Play 上,你自己选择全额退款还是按比例退款。下面介绍每家商店如何处理订阅退款,以及一笔退款会让你付出什么代价。
App Store 或 Google Play 上的退款由商店发起,也由商店决定。退单是顾客的银行把钱拉回去,由银行决定,没有申诉余地。对应用开发者来说,两者之间的差距如今关乎真金白银,因为从 2026年8月3日 起,Google Play 会把退单成本转嫁给你。
Google Play 悄悄不再自行承担拒付。对于在 2026 年 8 月 3 日当天或之后下达的订单,每一笔被争议的订单,你都要退回扣除 Play 服务费后的购买价款,再加上一笔银行手续费。本文说明改变了什么,如今一起拒付的成本是多少,以及你可以反击的那个 24 小时窗口。
当 Apple 为你的某位客户退款时,在你的服务器任务运行之前,这笔退款其实已经通过交易的 revocationDate 出现在你的 app 内部了。本文说明 StoreKit 2 退款检测在设备上出现的位置,revocationDate 和 revocationReason 告诉你什么,以及为什么客户端负责速度、服务器负责真相。
App Store 和 Google Play 的每一笔退款都会启动一个计时,而其中大多数都在你不知情的情况下运行。Apple 最短的退款窗口是 12 小时,Google 的拒付窗口是 24 小时,而从 2026 年 8 月 3 日起,错过一个拒付窗口就是一张账单,而不只是丢掉一笔销售。下面是每一个影响你账户的期限。
Google Play 可以在一笔购买被退款、发生拒付或被作废的瞬间,向你的服务器推送一条作废购买通知。它携带 purchaseToken、orderId、productType 和 refundType,只意味着一件事,撤销访问权限。下面介绍如何解读它并接入它。
对任何三年以内的 Google Play 订单,你都可以用一次 API 调用退款,退款时可选择是否撤销访问权限。在争议演变成拒付之前自己先退款,能省下从 2026 年 8 月 3 日起落到开发者头上的银行手续费。下面讲讲 orders.refund 的用法。
当客户向 Apple 申请退款时,Send Consumption Information 载荷就是你的回应。Apple 已将它从十二个字段精简为五个,其中三个必填、两个可选。以下是每个字段、各自接受的取值,以及你必须在其中发送的 12 小时窗口。
Apple 的 Get Refund History 接口会以签名交易的形式,返回某位客户在 App Store 的完整退款记录。本文讲清每一个字段、revision 令牌如何翻页、为什么它是按客户而非按 App 维度,以及你漏掉一笔退款要付出的代价。
Apple 的应用内退款申请让客户无需离开你的 App 就能申请退款,表单由 Apple 构建并审核。本文讲清 beginRefundRequest 返回什么、它会在你的服务器上启动哪些 CONSUMPTION_REQUEST 和 48 小时计时,以及这个按钮是否值得上线。
当一笔购买被退款或拒付时,Google Play 会悄悄地将其作废。Voided Purchases API 就是这些订单的清单,好让你可以撤销访问权限。这里讲清每个字段、30 天的时间窗口、会隐藏订单的撤销选项,以及它的成本。
苹果通过 App Store Server Notifications V2 发送四种退款消息,而大多数应用只处理其中两种。REFUND 告诉你要撤销权益,REFUND_DECLINED 意味着保留这笔销售,REFUND_REVERSED 则把销售还给你,并要求你恢复此前撤销的内容。下面说明每一种各需要什么处理。
自 WWDC24 起,每一个 Apple CONSUMPTION_REQUEST 都携带一个 consumptionRequestReason,也就是客户自己陈述的退款原因。它有五个取值,从 UNINTENDED_PURCHASE 到 LEGAL,每一个都应当改变你在 12 小时窗口内所回复的内容。下面讲清楚如何读懂每一个。
当银行撤销一笔 Google Play 扣款时,Google 会向你的服务器发送一条 PendingRefundReviewNotification,并启动一个 24 小时的倒计时。通过 ReviewRefund API 用退款倾向和真实的消费证据来回应它,否则这场争议就会在没有你的情况下被裁定。下面是整个流程,逐个字段来看。
当客户申请退款时,Apple 会向你的服务器发送一个 CONSUMPTION_REQUEST,但这笔交易从不说明他们是谁。appAccountToken 就是那个把购买关联回你的用户的 UUID。设置它,你就能用真实数据回应 Apple。跳过它,你就只能靠猜。
只要你的服务器在三天内没有确认某笔购买,Google Play 就会自动退款并撤销这笔购买。这是集成失误,不是客户的决定,而且完全可以避免。下面讲清楚具体规则、它为什么会触发,以及每一笔流失的销售真正的代价。
一次又一次申请退款的客户并非偶然。退款滥用不仅让你退回金额,还要搭上你已经花掉的算力,而两大商店都会给你一个身份信号,即 Apple 的 appAccountToken 和 Google 的混淆账户 ID,用来把这种模式串联起来。
Apple 和 Google 都可能在退款完成后,仍让客户保留其购买内容。以下是访问权限何时会自动移除,何时需要由你的服务器来处理,以及大多数集成从未处理过的那一个通知。
Only two refund flows ever ask for your evidence: Apple's consumption request and Google Play's chargeback review. Everything else, the 48-hour Play refund, support refunds, voided purchases, unacknowledged trials, is decided without you. Here is the full map, what you can prevent, and what you can only record.
When a customer asks Apple for a refund, Apple asks you first. Here's exactly what the CONSUMPTION_REQUEST notification contains, what Apple expects back, how to answer one end to end, and why most developers silently forfeit.
Google quietly rewrote who pays when a Play purchase gets disputed with the bank. For orders placed after August 3, 2026, a lost chargeback comes out of your pocket, and you get 24 hours to fight back. What changed, what it costs, and how to be ready.
Blanket-declining every refund is as wrong as ignoring them. A field guide to measuring what refunds cost you and writing policy rules that protect revenue and your review score at the same time.