所有文章
深度解析阅读需 8 分钟

Google Play 预付费方案的退款规则与订阅不同,一次漏掉的充值确认就可能撤销整个方案

预付费方案从不自动续订,因此用户无法取消,只能充值续期。本文介绍 Google Play 预付费方案退款如何判定、未确认的充值会让你付出什么代价,以及哪个 API 调用会退还哪笔款项。

黄昏时分,一名年轻男子站在热闹街边的手机充值亭前,手里拿着一部 Android 手机,他正是购买 Google Play 预付费方案、有时也会申请预付费方案退款的那类用户

要点

  • 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 小时内申请Google否无
48 小时后申请你,依据你的政策和当地法律不适用Google 未设定
未确认的购买或充值自动否3 天,不足一周的方案为时长的一半
标记为需开发者审核的拒付先 Google,后银行能,通过 orders.reviewrefund24 小时
无需开发者审核的拒付银行否无

预付费方案不会改变拒付规则。当 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 的订阅政策。对于预付费方案,已付费的时间就是权益。如果你只退还最近一次充值,就应让之前已付费的时间继续生效,除非你也撤销并退还了那部分。

开发者的办公桌上放着一台显示订阅到期日期的笔记本电脑,旁边是一部 Android 手机,这些记录决定着 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 帮助文档说明,优惠(包括免费试用和首期优惠价)只能为自动续订基础方案创建。预付费方案在购买时和每次充值时都需全额支付。

来源和延伸阅读

RefundHalt

App Store 和 Google Play 退款自动驾驶

继续阅读

下一项退款请求已经在路上。

读完又一封关于未能申辩退款的支持邮件所需的时间,足够您完成 RefundHalt 设置。