- 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 对象包含以下参数。
