在 Stripe 结帐会话创建时设置计费周期日期(或使用新的 billing_cycle_anchor 更新订阅)

问题描述 投票:0回答:2

我正在创建一个具有 4 个订阅计划的 SaaS:1 个免费和 3 个付费。

用户可以随时留在免费计划中,但是当用户更改为付费订阅时,我想设置与以前的免费计划相同的计费日期,并且只支付(在计费周期结束时)从当前日期到以前的免费计划结束日期。我正在使用结帐会话创建 API 端点,我不想使用订阅创建 API 端点,因为我需要控制更多的东西。

例如:

  1. 用户在 15-02 注册免费计划,然后下一个免费计划续订时间为 15-03
  2. 20-02 用户更新订阅付费订阅,然后我使用结帐会话创建 API URL 重定向到结帐 Stripe 屏幕。 问题:Checkout Session Create 端点不允许设置
    billing_cycle_anchor
    时间戳。那么订阅计费周期为20-02 / 20-03.
  3. 我在后端 webhook 收到订阅创建通知。
  4. 我想更新订阅以设置正确的计费周期(15-02 / 15-03),然后用户将在 15-03 支付与 20-0215- 的差价0315-03 订阅将更新到 15-04.

没有试用或订阅时间表,有什么方法可以做到吗?

谢谢!

更新 1: 也许我可以取消 webhook 上的订阅并使用正确的

billing_cycle_anchor
创建新订阅?这是一个“正确的”解决方案吗?

stripe-payments subscription
2个回答
1
投票

听起来您想进行按比例更新。它应该通过常规的订阅 API 来完成,换句话说,你不能只使用 Checkout API 来完成,也不应该像你提到的那样取消和重新创建订阅。

当不需要 Subscription Schedule 时,使用常规的 Subscription Update API 还是比较“合适”的。 Stripe 在 他们的文档他们的 API 参考 上有一个综合指南,值得一试。

默认情况下,我们按比例分配订阅更改。例如,如果一个 客户在 5 月 1 日以 ¥100 的价格注册,她将被收取 ¥100 立即地。如果她在 5 月 15 日改用 200 日元的价格,那么在 6 月 1 日 她将被收取 ¥250(续订 ¥200,外加 上月 100 日元的一半按比例调整 50 日元 不同之处)。同样,降级将产生信用 应用于下一张发票。当你做数量时,我们也会按比例分配 变化。


0
投票

billing_cycle_anchor
自 2023 年 4 月 26 日起可以通过结帐会话进行设置。请参阅文档.

JSON伪代码示例:

{
    "mode": "subscription",
    "subscription_data": {
        "billing_cycle_anchor": 1682985600
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.