如何通过GetSubscriptionsForUser API确定Microsoft Store订阅购买中的自动续订首选项更改?

时间:2019-09-18 06:23:02

标签: windows uwp in-app-purchase azure-active-directory windows-store

我们要使用此API https://docs.microsoft.com/en-us/windows/uwp/monetize/get-subscriptions-for-a-user从续订作业中进行调用,以识别用户的订购是否已续订,或者是否按预期扩展了我们系统中的许可证。我们要检测以下情况:

  1. 用户的订阅成功续订了下一个周期。
  2. 由于计费失败(当前有效),用户的订阅未能成功续订
  3. 由于计费失败(过去的过期时间),用户的订阅未能成功续订
  4. 用户选择不续订,订阅已过期。
  5. 用户选择退出下一个续订,但当前订阅​​处于活动状态。

我们可以根据文档确定状态1-4,但如何确定#5。基于recurrenceState属性的值,我们对四种状态有以下理解:

  1. 用户的订阅已成功续订下一个周期-Active
  2. 由于计费失败(当前有效),用户的订阅未能成功续订-InDunning
  3. 由于计费失败(过去的过期时间),用户的订阅未能成功续订-Failed
  4. 用户选择了不续订,并且订阅已过期-InActive
  5. 用户选择了下一次续订,但当前订阅​​处于活动状态-吗?

2 个答案:

答案 0 :(得分:0)

根据您的描述,方案5等效于:订阅处于活动状态,并且用户有权在当前周期内使用服务。订阅目前无法达到终端状态。

无论自动更新选项是打开还是关闭,都不应更改状态。因此,场景5的状态也为Active

答案 1 :(得分:0)

响应包含 autoRenew 字段。如果 autoRenew 字段设置为 false AND 状态为 Active,则会导致 #5 场景。