Skip to main content
使用 Consume API 管理以下 Microsoft Store 可消耗产品类型:
  • Store 管理的可消耗产品: 将数量报告为已消耗,并将其从指定用户的当前数量余额中扣除。 用户可以反复重新购买 Store 管理的可消耗产品,而你的服务无需将其报告为已消耗或已履行。 有关详细信息,请参阅 Store 管理的消耗请求
  • 开发者管理的可消耗产品: 将可消耗产品报告为已为指定用户履行。 在用户可以重新购买开发者管理的可消耗产品之前,你的应用或服务必须将该可消耗产品报告为已为该用户履行。 有关详细信息,请参阅开发者管理的消耗请求

使用 trackingId 验证履行完成

trackingId 提供可重试安全的履行验证。 如果你的服务未收到确认响应,请重新发送相同的请求正文。 服务会识别先前的请求,并将重试视为确认检查。 对 API 的每个请求都应有唯一的 trackingId。 如果原始请求未成功,或未收到响应,则在重试请求时服务会完成所请求的事务。 如果履行是在先前的请求中完成的,API 会识别该请求并发送确认响应。 在这种情况下,API 不会第二次履行或从用户的余额中扣除。 相反,API 会响应成功,就好像该项目已用用户的剩余余额消耗一样。 因此,请在服务器或日志中缓存每个请求的值和 trackingId,直到收到请求已履行的确认响应。 有关示例,请参阅游戏服务示例 当你的请求包含 includeOrderIds 参数时,根据可消耗产品的类型,预期行为如下: 如果你使用开发者管理的可消耗产品,则无法从重试请求获取订单 ID。

先决条件

请查看服务到服务 API 的先决条件 此 API 同时支持 Microsoft Entra ID 和委托身份验证 X-token 身份验证类型。
开发者管理的可消耗产品的沙盒限制: 在开发沙盒(非 RETAIL)中消耗开发者管理的可消耗产品时,不支持使用 User Store ID 或 Microsoft Entra ID 进行身份验证。在沙盒环境中,必须使用委托授权 XSTS 令牌才能成功消耗开发者管理的可消耗产品。此限制不适用于 Store 管理的可消耗产品或 RETAIL 沙盒。
如果你未在合作伙伴中心发布产品配置,调用可能成功但不返回任何结果。

User Store ID 身份验证错误代码

使用 X-token 身份验证的错误代码

请求

请求语法

请求标头

请求正文

消耗请求示例

以下示例使用 User Store ID 进行身份验证,并要求在请求 JSON 正文中包含 beneficiary 对象。

Store 管理的消耗请求

开发者管理的消耗请求

以下示例使用 User Store ID 身份验证。但是,此身份验证方法在开发沙盒中的开发者管理的可消耗产品上不起作用。如果你在沙盒环境中进行测试,请改用 XSTS 令牌身份验证。有关详细信息,请参阅通过委托身份验证 XSTS 令牌进行身份验证

响应

响应正文

ConsumeOrderTransaction 对象包含以下参数。

消耗响应示例

相关文章

从你的服务管理产品 使用 Microsoft Store API 验证你的服务 使用 publisherQuery (Collections v9) 查询用户的产品和授权 从你的服务管理可消耗产品 从你的服务管理退款和拒付
最后修改于 2026年8月24日