# Google Play Billing 系列分享：订阅取消后的处理指南——恢复订阅与重新订阅

By [babyshep](https://paragraph.com/@babyshep) · 2025-01-18

---

作者/高寒蕊，Google 开发技术推广工程师

> Google Play Billing 系列内容是专门为中文开发者开辟的系列分享，着重讲解中国开发者对 Play Billing 最容易感到疑惑的地方。如果您有任何问题，欢迎在留言区提出，我们会收集反馈并在后续文章中做出解答。

背景介绍
----

作为订阅应用的开发者，您可能已经意识到订阅模式对应用和游戏盈利的重要性。本篇文章聚焦于用户 **取消订阅** 后的两种处理方式：**恢复订阅** 和 **重新订阅**。了解这两者的区别以及需要注意的事项，将有助于优化您的订阅处理流程。

恢复订阅与重新订阅的区别
------------

Google Play 提供了两种功能：**恢复订阅（Restore）** 和 **重新订阅（Resubscribe）**，但许多开发者容易混淆它们的含义和应用场景。

### 恢复订阅（Restore）

*   适用于 **用户取消了订阅，但未过期** 的场景。
    
*   用户需在 **Google Play 订阅中心** 手动操作恢复订阅。
    
*   恢复后，订阅的 **purchaseToken 不会更改**。
    

### 重新订阅（Resubscribe）

*   适用于 **订阅已过期** 的场景。
    
*   用户可以通过应用或 **Google Play 订阅中心** 发起操作。
    
*   重新订阅会生成 **新的 purchaseToken**，并与原订阅完全分开。
    

☞ [WildCard | 一分钟注册，轻松订阅海外线上服务](https://bit.ly/bewildcard)

使用门槛极低，微信支付宝均可开通使用。支持开通各类海外平台：ChatGPT、Claude、Google Play、Apple Store、OpenAI、X、Patreon、MidJourney、Amazon、POE、Microsoft、Facebook、GitHub、Telegram、PayPal等各类海淘订阅平台。使用邀请码：**ACCPAY**，立享消费 0 手续费，减免开卡费用。

* * *

关键注意事项
------

### 1\. 用户重新订阅前的处理

如果用户取消订阅但未过期时重新购买：

*   新订阅会替换旧订阅，续订日期与原到期日期保持一致。
    
*   **新 purchaseToken 会与旧订阅的 purchaseToken 关联**，可通过 `linkedPurchaseToken` 字段查看。
    

开发者需确保：

*   **及时标记旧订阅的 purchaseToken 为失效**，避免重复计费。
    
*   使用 Google Developer API 获取订阅的 `expiryTimeMillis`，准确判断订阅到期时间。
    

### 2\. 响应开发者通知

*   确保处理所有 **Google Play 实时开发者通知（RTDN）**，特别是重新订阅产生的新 purchaseToken。
    
*   任何未在 3 天内确认的交易将被取消。
    

参考文档：

*   [订阅接口](https://developers.google.google.cn/android-publisher/api-ref/rest/v3/purchases.subions/get)
    
*   [销售订阅](https://developer.android.google.cn/google/play/billing/subs)
    
*   [实时开发者通知参考指南](https://developer.android.google.cn/google/play/billing/rtdn-reference)
    

示例操作
----

### 用户在 Google Play 订阅中心恢复订阅

1.  用户进入 **Google Play 订阅中心**。
    
2.  找到目标订阅并点击 **恢复订阅**。
    

### 应用内重新订阅

1.  用户在应用内选择订阅服务。
    
2.  调用 Google Play Billing API 发起订阅购买流程。
    

开发者实用建议
-------

*   使用 **Play Billing Library**，保持依赖版本最新。
    
*   定期检查订阅的 `expiryTimeMillis`，避免重复订阅冲突。
    
*   对于重新订阅场景，确保妥善处理 `linkedPurchaseToken` 字段，避免数据紊乱。
    

结语
--

订阅模式为应用和游戏的盈利带来了巨大潜力，但同时也需要开发者细致处理用户取消和重新订阅的情况。希望通过本篇文章，您能够清晰区分恢复订阅与重新订阅的概念并正确应对。如果仍有疑问，欢迎在评论区留言。

持续关注我们，获取更多 **Google Play Billing** 系列分享！

---

*Originally published on [babyshep](https://paragraph.com/@babyshep/google-play-billing)*
