【问题标题】:Creating a subscription in Stripe - I'm confused在 Stripe 中创建订阅 - 我很困惑
【发布时间】:2015-03-02 02:11:52
【问题描述】:

我为我的用户使用条带订阅,例如,每月 10 美元用于 100 个 API 请求,这是一个标准价格。但是,如果用户使用了 150 个 API 请求,我会向他们收取 10 美元 + 3 美元的费用。对于 200 个及以上的请求,它是 10 美元 + 7 美元。

假设,我在 10 月 9 日订阅了该用户。 11 月 9 日,webhook 事件invoice.created 将通过条带调用。因此,如果用户使用了 150 个 API 请求,我必须在基本价格的基础上再增加 3 美元(根据 Stripe 文档https://support.stripe.com/questions/metered-subscription-billing,我只能在 1 小时内做到这一点)。

  if even.type == 'invoice.created'
    Stripe::InvoiceItem.create(
      customer: stripe_customer_id,
      invoice: event.data.object.invoice
      amount: 300,
      currency: 'usd',
      description: 'additional price'
     )

问题:

  1. invoice.created 的活动确实会在 11 月 9 日举行第一次吗?

  2. 是在 10 月 9 日至 11 月 9 日的当前 10 美元发票中添加 3 美元的额外价格,还是将其添加到 11 月 9 日至 12 月 9 日的未来发票中?从文档中不清楚。

  3. 如何将元数据添加到 10 美元的原始发票?我可以将元数据添加到附加发票,但如果用户使用的 API 请求少于 100 个,我根本不必创建附加发票,因此我不能依赖附加发票。

  4. 上面写着

在您的客户订阅之前创建任何发票项目 计划,然后通过更新客户创建订阅 订阅电话。

  • 但我会在 10 月 9 日永久订阅该用户!如果一个月还没有过去,我如何在该日期之前或之后(10 月 9 日)创建InvoiceItem,因此不知道用户进行了多少 API 调用(显然,用户在 10 月 9 日进行了,零 API 调用)?我只能在 30 天内创建 InvoiceItems,因为那时我知道要在 10 美元上向他们收取多少费用! 10 月 9 日,我不知道。我什么都不懂?

【问题讨论】:

    标签: ruby-on-rails ruby stripe-payments


    【解决方案1】:

    每次创建发票时,您都会在 webhook 上收到事件 invoice.created。因此,当您在 11 月 9 日为客户订阅月度计划时,您将在 11 月 9 日、12 月 9 日、1 月 9 日等收到此活动。

    订阅的第一张发票(在您创建订阅时生成)始终会立即关闭,因此此时无法添加发票项目。如果这是您想要做的事情(例如设置费),您需要在创建订阅之前创建发票项目。这样,它会自动添加到订阅客户时创建的第一张发票中。

    在您的情况下,您希望根据您的客户在刚刚结束的一个月内提出的 API 请求数量为下一张发票添加费用。因此,在invoice.created 事件中,您需要检测是新月份开始还是第一个月。如果是新月份,则需要决定是否必须向用户添加 Invoice Item(基于 API 请求的数量)。

    您无法将元数据添加到前一个月的上一张发票中。您只需将发票项目添加到当前发票(开始月份)并添加说明,表明额外的行项目是用于上个月的消费。

    【讨论】:

    • to a monthly plan on the 9th of November - 我在 10 月 9 日订阅了一位客户。因此,客户将首先支付订阅费用 - 订阅后,而不是一个月后?
    • 没错,Stripe 的订阅总是在周期开始时收费。如果您希望您的客户只在最后付款,您需要先让他们试用,这样第一张发票将是 0 美元,然后在下一张发票(然后在 11 月 9 日)您可以添加额外费用
    • 所以前 2 个答案是 1) 否 2) 否?
    • 3) - 但是如果我不需要创建 InvoiceItem 因为用户没有使用超过 100 个 API 调用怎么办?在这种情况下我该怎么办?
    • 你是对的,我认为 1 和 2 是不正确的。您无需在之前的发票中添加“元数据”。始终处理当前创建的那个(然后是下个月)。否则,只需制作您自己的发票电子邮件模板并使用 Stripe 的发票收取正确的金额
    猜你喜欢
    • 1970-01-01
    • 2020-09-18
    • 2014-04-08
    • 2011-04-11
    • 2016-07-04
    • 2020-08-17
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多