Uwp 确定用户';s在Windows应用商店应用程序中提前更改自动续订首选项

Uwp 确定用户';s在Windows应用商店应用程序中提前更改自动续订首选项,uwp,windows-store-apps,windows-store,in-app-subscription,auto-renewing,Uwp,Windows Store Apps,Windows Store,In App Subscription,Auto Renewing,此问题与Microsoft应用商店API中提供的有关用户订阅的详细信息一致 参考上图,用户在第0天购买了每月自动续费订阅计划,预计商店将在第30天续费。我们每六小时有一次更新工作,在接下来的六小时左右挑选即将到期的候选人 因此,在第29天的某个时候,我们的续费工作将运行,以检查商店是否已经向用户收取了续费。作业运行时可能会出现不同的场景状态: 用户的订阅已为下一个周期续订 商店尚未尝试续订用户订阅(不太可能) 用户已选择关闭下一个周期的续订 商店无法向用户收费,正在重试计费 开发者取消了用户的

此问题与Microsoft应用商店API中提供的有关用户订阅的详细信息一致

参考上图,用户在第0天购买了
每月自动续费
订阅计划,预计商店将在第30天续费。我们每六小时有一次更新工作,在接下来的六小时左右挑选即将到期的候选人

因此,在第29天的某个时候,我们的续费工作将运行,以检查商店是否已经向用户收取了续费。作业运行时可能会出现不同的场景状态:

  • 用户的订阅已为下一个周期续订
  • 商店尚未尝试续订用户订阅(不太可能)
  • 用户已选择关闭下一个周期的续订
  • 商店无法向用户收费,正在重试计费
  • 开发者取消了用户的订阅(无论是否退款)
  • 根据文档,有两个相关属性可帮助我们识别上述场景:

  • 复发状态
  • 到期时间
  • 根据我们的理解,我们针对上述情况得出了下表:

    Case #             Recurrence State           Expiration Time
    
       1                  Active                     Day 60
    
       2                  Active                     Day 30
    
       3                  Active                     Day 30
    
       4                  InDunning                  Day 30
    
       5                  Canceled                   Less than day 30
    
    问题

  • 有没有办法区分案例2和案例3

  • 此外,我们可能会选择忽略案例2,因为它不太可能发生。但我们仍然需要进行日期计算,以区分案例1和案例3,因为这两个日期都是当前日期的未来日期。有没有比依靠日期计算更好的方法

  • 案例2不太可能,因为Microsoft Store在续订日期前14天开始向用户收费。如果计费失败,则进入状态4。现在让我们假设商店在第14天向用户收费,他在第20天(下一个周期)关闭订阅,用户是否会被微软退款,以及该状态如何反映在API响应中

  • 附言:

  • 如果我们必须从当前日期开始检查日期是否为过去或未来,我们仍然很好

  • 30天后运行的续订作业不可能选择候选人,因为如果在30天后才续订,我们的下游系统将自动取消订阅,并且我们无法控制在下游系统中更改该逻辑


  • 对于您的问题3,Microsoft可能不会向客户退款。客户可以随时取消订阅以避免进一步的费用,在当前计费周期的任何部分,他们都不会得到退款。您可以在中看到这一点。这意味着,如果客户选择在第20天取消订阅续订,而商店已在第15天向他们收费,则该客户将必须再使用(并支付)一个月的订阅。真讨厌。该链接提到,当前计费周期不提供退款。我担心的是即将到来的时期。你确定你的客户在15日订阅时会立即付款吗?我不确定。链接()的这一部分说:
    在每个计费周期的某个时间点,我们将尝试在下一个计费周期向客户的信用卡收费。如果收费失败,客户的订阅将进入催款状态。
    而此状态:
    此状态最长可持续两周,直到当前计费周期结束以及下一个计费周期的续费日期。
    我从上述两条语句中推断。