【问题标题】:Stripe: Update subscription or cancel and create new one?Stripe:更新订阅还是取消并创建新订阅?
【发布时间】:2021-10-24 20:21:06
【问题描述】:

我们有一种产品有 4 种不同的价格(基本款、中间款等)。假设用户购买了基本套餐(支付会话是在创建支付完成订阅后创建的),但过了一段时间,用户决定更改他的套餐并升级到高级套餐。在那种情况下我应该使用更新订阅吗?

这实际上是从 X$ 更新到 Y$ 包

var service = new SubscriptionService();
Subscription subscription = service.Get("sub_49ty4767H20z6a");

var items = new List<SubscriptionItemOptions> {
    new SubscriptionItemOptions {
        Id = subscription.Items.Data[0].Id,
        Price = "price_CBb6IXqvTLXp3f",
    },
};

var options = new SubscriptionUpdateOptions {
  CancelAtPeriodEnd = false,
  ProrationBehavior = "create_prorations",
  Items = items,
};
subscription = service.Update("sub_49ty4767H20z6a", options);

或者只是取消当前订阅并创建新订阅?我为什么要问这个,因为我和 Stripe 的支持人员聊天,得到了两个不同的答案。其中一个告诉我我需要使用 update_subscripton,另一个告诉我需要附加新订阅。我很困惑。

【问题讨论】:

    标签: c# .net stripe-payments payment-gateway payment


    【解决方案1】:

    你在这里描述的方式,upgrade the subscription 的更新对我来说更有意义。仔细注意预期的proration 行为(是否要记入当前计划剩余的时间)以及是否要shift the billing period

    我还要指出,您应该考虑切换到单独的产品。产品是您销售的单一商品/服务,而价格代表不同的计费间隔和货币。如果您想象某些服务具有白银级、黄金级和白金级访问级别,那么它们中的每一个都是不同的产品——它们具有更多功能! Product 也是发票上显示的内容。因此,除非您使用单独的产品,否则发票将与支付的费用无法区分。

    大多数情况下,您所做的事情并不会带来任何特定的障碍,但Customer Portal 会在每个时间间隔对每个产品强制执行一个价格。如果您对“相同产品”有两个年度价格但数量不同,为什么有人会支付更高的价格?这是因为他们为不同的东西、不同的产品付费。

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 2019-04-09
      • 2017-04-10
      • 2019-02-15
      • 1970-01-01
      • 2019-06-21
      • 2017-11-04
      • 1970-01-01
      相关资源
      最近更新 更多