【问题标题】:Stripe Subscriptions - Create even if first billing attempt failsStripe Subscriptions - 即使第一次计费尝试失败也可以创建
【发布时间】:2018-02-04 14:59:06
【问题描述】:

在 Stripe 的 API 文档中,尝试为客户创建订阅时返回的值描述如下:

调用成功时新创建的订阅对象。如果客户没有卡或尝试收费失败,则此调用返回错误(除非指定的计划是免费的或有试用期)。

由此,我假设如果第一次尝试收费失败(并返回错误)这意味着尚未创建订阅?

我希望能够为可能尚未添加任何计费来源的客户创建订阅,并且一旦他们添加计费来源,就会处理第一笔付款。有没有办法做到这一点?

【问题讨论】:

    标签: stripe-payments subscriptions


    【解决方案1】:

    由此,我假设如果第一次尝试收费失败(并返回错误)这意味着尚未创建订阅?

    是的,没错。

    我希望能够为可能尚未添加任何计费来源的客户创建订阅,并且一旦他们添加计费来源,就会处理第一笔付款。有没有办法做到这一点?

    您可以使用 0 美元的计划创建订阅,或使用 trial_end 创建带有试用版的订阅以创建“免费”订阅。

    至于“只要他们添加了计费来源,就会处理第一笔付款。” - 您需要创建逻辑来自行处理此问题。当用户添加付款来源时,您可以更新他们的订阅以结束试用 (trial_end=now),或将他们转移到付费计划。

    https://stripe.com/docs/api#update_subscription

    【讨论】:

    • 谢谢,我正在考虑一种与此类似的方法。问题是它首先否定了使用订阅的很多便利。当需要更新订阅时,如果由于某种原因计费失败,Stripe 将在几天内(或任何指定的时间表)自动重试 - 如果计费信息更新,将立即重试。为什么第一次创建订阅时不能这样做?这对我来说没有多大意义。
    • @abagshaw 如果您想使用重试逻辑:一种解决方案可能是创建一个 5 分钟试用的子(使用 trial_end)。无论客户是否拥有有效的信用卡,它都会启动。当超短试用期到期时,它将按照您的指示尝试计费、失败、重试。
    • 这几乎是我要找的,但不幸的是我的理解是,如果客户在 5 天后添加卡,然后成功收取第一张发票,则下一张发票日期不会是向前移动 5 天,它将比首次创建发票时提前一个月(或我设置的任何时间间隔)。因此,我将不得不手动将下一个发票日期提前,这违背了目的。我已将您的答案标记为已接受,因为它与我想得到的一样接近。
    猜你喜欢
    • 2014-04-27
    • 2013-01-07
    • 2017-07-31
    • 2020-10-06
    • 2018-12-17
    • 1970-01-01
    • 2022-08-15
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多