我们希望使用从续订作业调用的此 API https://learn.microsoft.com/en-us/windows/uwp/monetize/get-subscriptions-for-a-user 来确定用户的订阅是否已续订,以扩展我们系统中的许可证。我们希望检测以下方案:
- 用户的订阅在下一个周期成功续订。
- 由于计费失败,用户的订阅无法成功续订(当前活动(
- 由于计费失败,用户的订阅无法成功续订(已过期(
- 用户选择退出续订,订阅已过期。
- 用户选择退出下一次续订,但当前订阅处于活动状态。
我们可以根据文档确定状态 1-4,但如何确定 #5。我们对这四种状态有以下理解,基于递归状态属性的值:
- 用户订阅已成功续订下一个周期 -
Active
- 由于计费失败,用户的订阅无法成功续订(当前活动( -
InDunning
- 由于计费失败(已过期(,用户的订阅无法成功续订 -
Failed
- 用户选择退出续订,订阅已过期 -
InActive
- 用户选择退出下一次续订,但当前订阅处于活动状态 - ?
根据您的描述,场景 5 等效于: 订阅处于活动状态,用户有权在当前周期内使用服务。订阅此时未达到终端状态。
无论自动续订选项是打开还是关闭,都不应更改状态。所以场景 5 的状态也很Active
。
响应包括一个autoRenew
字段。如果autoRenew
字段设置为false
AND状态为Active
则结果为 #5 方案。