跳转到主要内容
仅当订阅发布到 RETAIL 时,此 API 才有效。如果使用开发沙盒,请先将订阅发布到私有飞行组或以隐藏方式发布到 RETAIL,然后再调用此 API。如果订阅未发布到 RETAIL,则响应为 HTTP 400 错误,并显示消息“找不到请求的目录产品数据”。
此终结点用于更改 Microsoft Store 中用户订阅产品的计费状态。 你可以取消、延长、退款或禁用订阅的自动续订。 Microsoft.StoreServices 库 (GitHub) 通过 StoreServicesClient.RecurrenceChangeAsync API 提供此方法的功能。

先决条件

请查看服务到服务 API 的先决条件。 此 API 仅支持 Microsoft Entra ID 身份验证类型。 如果产品配置未在 Partner Center 发布,可能会成功但不返回任何结果。

请求

请求语法

请求标头

请求参数

请求正文

更改类型操作

请求示例

以下示例演示如何使用此方法将订阅期延长五天。将 b2bKey 值替换为表示要更改订阅的用户身份的 User Store ID 密钥。

响应

此方法返回一个描述已更新的订阅加载项(包括修改后的字段)的 JSON 响应正文。
此方法具有本文开头所述的相同 RETAIL 发布要求。

响应正文

RecurrenceItem 对象包含以下参数。

定期状态

  • Inactive/Canceled/Failed 是终止状态。当订阅进入这些状态之一时,用户必须重新购买订阅才能再次激活。用户在这些状态下无权使用服务。
  • 当订阅取消时,expirationTime 会更新为取消的日期和时间。
  • 订阅的 ID 在其整个生命周期中保持不变。它不会因为自动续订选项打开或关闭而变化。如果用户在达到终止状态后重新购买订阅,将创建新的订阅 ID。
  • 应使用订阅的 ID 对单个订阅执行任何操作。
  • 当用户在取消或停止后重新购买订阅时,如果你查询该用户的结果,将获得两个条目:一个具有旧订阅 ID 处于终止状态,另一个具有新订阅 ID 处于活动状态。
  • 始终最好同时检查 recurrenceState 和 expirationTime,因为 recurrenceState 的更新可能延迟几分钟(偶尔几个小时)。

响应示例

相关文章

purchase.mp.microsoft.com/v8.0/b2b/recurrences/query 从你的服务管理产品 从你的服务管理退款和拒付 使用 Microsoft Store API 验证你的服务 使用 publisherQuery (Collections v9) 查询用户的产品和授权
最后修改于 2026年10月20日