简短的回答是:比你想象的要少,而且大多数工具只是在监听。
Google Play RTDN 就是这条管道。它传递续订、取消、作废购买等事件,自2026年年中起,还包括一条消息,告知你某笔拒付正在审核中,你有24小时的时间来提出意见。这最后一项,才是 Google Play 退款申诉真正发生的地方。信息流中的其他一切,都只是 Google 在告诉你它已经做出的决定。
所以当有人问,哪些工具能与 Google Play 实时开发者通知集成以进行退款申诉时,他们实际上是在问两个问题:哪些工具能"听到"这条信息流,哪些工具又能对其做出"回应"。至于苹果那边的情况,我们的 CONSUMPTION_REQUEST 详解文章介绍了 iOS 上的同一个问题。
核心要点
Google Play RTDN 是一个 Pub/Sub 主题(topic)。Google 负责发布消息,你负责订阅。
只有一种 RTDN 类型允许你提出异议:PendingRefundReviewNotification。它会在发生拒付时触发,并给你24小时的时间。
自2026年8月3日起,拒付的损失需要你自己承担:购买价格减去 Google 的费用,再加上银行收取的15至25美元的额外费用。
大多数订阅平台都能接收 Google Play 的退款通知,但很少有平台会做出任何回应。
RevenueCat 会响应拒付审核,但根据其官方文档,它并不会发送消费数据,只提供一个偏好选项和一个标记位。
一旦错过这24小时,Google 就会在没有你提供任何材料的情况下自行处理这场争议。
Google Play RTDN 实际发送的内容
实时开发者通知会发送到你自己拥有的 Google Cloud Pub/Sub 主题中。每条消息都是一个 base64 编码的数据块,包含五种负载(payload)之一:订阅事件、一次性商品事件、测试信号,以及本文重点关注的另外两种。
VoidedPurchaseNotification 是经典的 Google Play 退款通知:一笔购买被退款、被拒付,或以其他方式作废。它包含四个字段:purchaseToken、orderId、productType、refundType,适合用来撤销访问权限,但对申诉毫无用处,因为钱已经没了。
PendingRefundReviewNotification 是新增的通知类型。Google 的 RTDN 参考文档指出,它会在"用户针对某笔购买申请拒付、且该请求需要开发者审核时"发送。你会收到一个 pendingRefundToken、订单的 orderId,以及一个目前始终为7的 refundReason(代表 CHARGEBACK,即拒付)。随后,24小时的倒计时就会开始。
由此可见,Google Play RTDN 的退款通知分为两种:一种是"收据",另一种是"问题"。
为什么这24小时的窗口期突然变得如此重要
多年以来,Android 上的拒付一直是 Google 的问题。用户向银行提出交易争议后,损失由 Google 承担,你只会收到一条作废购买通知,然后继续正常运营。
但对于2026年8月3日之后下的订单,这种情况已经结束。现在,你需要支付购买价格减去 Play 服务费之后的金额,再加上银行收取的任意拒付手续费。Google 只承担其自身的服务费,仅此而已。
银行卡组织的手续费通常为每笔争议15至25美元,有时甚至更高。因此,一个售价4.99美元的金币礼包一旦发生拒付,你就会损失约3.50美元的收入,再加上20美元的手续费——一笔4美元的交易,最终损失了23美元。
作为交换,Google 开放了 ReviewRefund API。当 PendingRefundReviewNotification 到达时,你可以向 orders.reviewrefund发送 POST 请求,附上 token、refundPreference(DECLINE、APPROVE 或 NEUTRAL)、是否提供过试用样本、以毫单位表示的消费百分比,以及最多1,000条使用事件记录。之后,Google 会代你向银行提交这些材料。
一旦错过这个窗口期,Google 就只能"空手"应对。行业数据显示,没有申诉材料支持的拒付胜诉率大约在20%到30%之间;而提供证据后,一些厂商宣称胜诉率可达80%。这两个数字都需要辩证看待,但方向是显而易见的。
按实际功能划分的各类工具
许多产品都声称自己"支持 Google Play RTDN",但几乎都只是意味着它们订阅了这个主题,很少有产品真正意味着它们会做出回应。
Refund Sensor。 专为这项工作而生。它会在你的 Cloud 项目中配置 Pub/Sub 主题,并将其注册到 Play Console;当 PendingRefundReviewNotification 到达时,它会通过 Review Refund API 提交一份包含交付和消费证据的 DECLINE 建议。设置过程只需要一次 Google 登录和两项 Play Console 权限,无需 SDK。截至撰写本文时,它是少数几个能够提交实际证据、而不仅仅是一个偏好选项的工具之一。详情见 Google Play 申诉页面。
RevenueCat。 接收 RTDN,轮询 Voided Purchases API,并在退款发生时撤销权限。2026年7月,他们为 Refund Control 加入了对 Google 的支持,因此现在也会响应拒付审核。但请仔细阅读他们的 官方文档:在 Google 端,他们发送的是 token、设为 true 的 sampleContentProvided,以及你的偏好选项。原话是:"RevenueCat 目前不会收集或发送消费百分比或使用事件。"有"投票权",却没有"论据"。如果你已经在使用他们的产品,倒也无妨,但这并不是一套完整的申诉方案。
Adapty。 是一个可靠的 RTDN 接收方。他们的文档会指导你将主题名称粘贴到 Play Console 中,并点击测试按钮。退款会出现在事件信息流中并触发 webhook。但我没有找到任何 ReviewRefund 集成——只是"监听"而已。
Qonversion、Glassfy 及其他同类产品。 情况相同。它们消费 Google Play 实时开发者通知,以保持订阅状态的更新,但根据其公开文档,均未涉及拒付审核。
你自己的后端系统。 始终是一个可行的选项:一个 Pub/Sub 订阅、一个解码器、一次订单查询、一次使用情况查询、一次经过身份验证的 POST 请求。真正的难点不在于代码本身,而在于通知可能会在周日凌晨2点到达,而倒计时并不会因此而暂停。
如果你正在挑选 Google Play 拒付管理软件,请向每一家供应商问一个问题:当审核通知到达时,你们究竟会回传什么?"你的偏好选项"只是一个开始,而"消费数据"才是真正的申诉依据。
如何自行集成 Google Play RTDN 以实现退款申诉
如果你更倾向于自己搭建而不是购买现成方案,以下就是具体步骤。
在 Google Cloud 项目中启用 Cloud Pub/Sub API,创建一个主题,并为 [email protected] 授予该主题的 Pub/Sub Publisher 角色。一旦漏掉这个角色,任何消息都不会到达——这是 RevenueCat 论坛上最常见的投诉之一。
在 Play Console 中,进入"Monetize",然后进入"Monetization setup"。勾选"Enable real-time notifications",粘贴完整的主题名称(projects/your-project/topics/your-topic),然后点击"Send test notification"。如果消息成功送达,就说明这条管道已经打通。
创建一个 Pub/Sub 订阅,可选择推送(push)或拉取(pull)方式,解码 data 字段,并根据负载内容进行分支处理。
对于 PendingRefundReviewNotification:查找订单、提取真实的使用数据、确定偏好选项,然后携带 pendingRefundToken 向 reviewrefund 发送 POST 请求——必须在24小时内完成,否则就没有意义了。对于 VoidedPurchaseNotification:撤销访问权限。我们关于 退款后如何处理访问权限的文章详细介绍了为什么这一步在 Google 平台上特别容易出错。
记录所有数据。响应率和胜诉率是两个独立的指标。
有一件事 Google 无法提供:测试用的 PendingRefundReviewNotification。你只能把系统搭建好,然后等待真实的拒付发生。这也是为什么托管工具通常显示"awaiting first refund event",而不是一个绿色的对勾。
如果要为 Google Play RTDN 集成工具排名
具体到 Google Play 退款申诉,也就是用证据回应拒付审核这件事,能上榜的工具寥寥无几。Refund Sensor 凭借消费数据完成这一任务,且无需编写代码;RevenueCat 仅凭一个偏好选项来完成,虽然比什么都不做要好,但也好不了多少;其余所有工具都只是在监听这条信息流。
就通用的 RTDN 基础架构和权限同步而言,RevenueCat 和 Adapty 都是成熟且文档完善的选择。
如果你完全不想处理这些问题,像 Tebex 或 Xsolla 这样的记录商家(merchant of record)方案,可以通过网页商店把责任从你的账面上转移出去。但这也意味着交易本身离开了 Play,对于那些仍留在 Play 上的交易,这类方案毫无作用。
具体选择哪种方案,取决于你实际面临的是哪种问题。
结语
Google Play RTDN 最初的设计目的是"告诉"你一些事情,直到最近,它才开始"询问"你的意见。PendingRefundReviewNotification 是 Google 首次希望在 Android 上听取你对退款事件的说法,而它恰好与 Google 开始让你为败诉案件买单同一时期出现。
这改变了整个账目的计算方式。当一笔退款损失的代价仅仅是失去这笔销售额时,一个只会"监听" Google Play 退款通知的工具还算够用;但现在,代价是销售额加上一笔银行手续费,而唯一能挡在你和这笔账单之间的,就是24小时内发出的一次 POST 请求。
先把主题配置好,然后检查你所使用的平台究竟会回传什么内容。如果答案是"什么都没有",或者仅仅是一个偏好选项,那就在下一次拒付到来之前,把这个缺口补上。
常见问题
只有那些导致购买被作废的退款才会发送通知,形式为 VoidedPurchaseNotification。如果在 Play Console 中发放退款时没有勾选"Remove entitlement"(移除权限),这类退款根本不会出现在 RTDN 或 Voided Purchases API 中。
不可以。普通退款完全由 Google 自行决定,审核流程仅涵盖拒付情形,也就是用户直接向银行提出争议的情况。
Google 会在没有你的意见输入的情况下继续处理。如果拒付最终成立,你需要支付购买价格减去 Google 费用后的金额,再加上银行收取的拒付手续费。
部分能。自2026年7月起,它会发送一个退款偏好选项和 sampleContentProvided 字段,但根据其官方文档,不会发送消费百分比或使用事件数据。
如果你选择自行搭建,那就需要。而像 Refund Sensor 这样的托管工具,只需完成一次 Google 登录并授予两项 Play Console 权限,就能为你配置主题并自动做出回应。
目前还没有。Play Console 的测试按钮只会发送一条 TestNotification,你只能等待真实的拒付发生。



