如何通过 GetSubscriptionsForUser API 确定 Microsoft Store 订阅购买中的自动续订偏好更改?
How to determine auto renewal preference change in Microsoft Store Subscription purchases through GetSubscriptionsForUser API?
我们希望使用此 API https://docs.microsoft.com/en-us/windows/uwp/monetize/get-subscriptions-for-a-user 从续订作业中调用,以确定用户的订阅是否已续订或未按预期延长我们系统中的许可证。我们要检测以下场景:
- 用户订阅成功续订下一个周期。
- 由于计费失败,用户的订阅未能成功续订(当前有效)
- 由于计费失败(已过期),用户的订阅未能成功续订
- 用户选择退出续订且订阅已过期。
- 用户选择退出下一次续订,但当前订阅有效。
我们可以根据文档确定状态 1-4,但如何确定 #5。根据recurrenceState的值属性:
,我们对四种状态有如下理解
- 用户订阅成功续订下一个周期 -
Active
- 由于计费失败(当前有效),用户的订阅未能成功续订 -
InDunning
- 由于计费失败(已过期),用户的订阅未能成功续订 -
Failed
- 用户选择退出续订且订阅已过期 -
InActive
- 用户选择退出下一次续订但当前订阅有效 - ?
根据您的描述,场景5相当于:订阅有效,用户有权使用当前周期的服务。订阅暂时未达到终止状态
无论自动续订选项是打开还是关闭,状态都不应更改。所以场景5的状态也是Active
。
响应包含一个 autoRenew
字段。如果 autoRenew
字段设置为 false
并且 状态为 Active
,则会导致进入#5 场景。
我们希望使用此 API https://docs.microsoft.com/en-us/windows/uwp/monetize/get-subscriptions-for-a-user 从续订作业中调用,以确定用户的订阅是否已续订或未按预期延长我们系统中的许可证。我们要检测以下场景:
- 用户订阅成功续订下一个周期。
- 由于计费失败,用户的订阅未能成功续订(当前有效)
- 由于计费失败(已过期),用户的订阅未能成功续订
- 用户选择退出续订且订阅已过期。
- 用户选择退出下一次续订,但当前订阅有效。
我们可以根据文档确定状态 1-4,但如何确定 #5。根据recurrenceState的值属性:
,我们对四种状态有如下理解- 用户订阅成功续订下一个周期 -
Active
- 由于计费失败(当前有效),用户的订阅未能成功续订 -
InDunning
- 由于计费失败(已过期),用户的订阅未能成功续订 -
Failed
- 用户选择退出续订且订阅已过期 -
InActive
- 用户选择退出下一次续订但当前订阅有效 - ?
根据您的描述,场景5相当于:订阅有效,用户有权使用当前周期的服务。订阅暂时未达到终止状态
无论自动续订选项是打开还是关闭,状态都不应更改。所以场景5的状态也是Active
。
响应包含一个 autoRenew
字段。如果 autoRenew
字段设置为 false
并且 状态为 Active
,则会导致进入#5 场景。