【问题标题】:Stripe Upcoming Invoice API while in trial periodStripe Upcoming Invoice API 在试用期内
【发布时间】:2020-01-07 09:04:53
【问题描述】:

我想让客户预览(或报价)如果他们更改订阅,他们的订阅费用将是多少。为此,我使用了“即将到来的发票”API 端点:

https://stripe.com/docs/api/invoices/upcoming

在该链接中,他们声明“您可以预览更新订阅的效果,包括预览将发生的按比例分配。”。

更改计划时,您必须先获取当前订阅项目 ID (https://stripe.com/docs/api/subscription_items),并指定 "deleted" => true。然后将新计划添加为subscription_item

这是一个示例调用:

[
  "subscription" => "sub_GUw5iYoBYiSAEl"
  "subscription_items" => [
    [
      "id" => "si_GUw53rbtqOpZYB"
      "deleted" => true
    ],
    [
      "plan" => "plan_GAf8EkL1VIPYZ9"
      "quantity" => "1"
    ]
  ]
]

当用户未处于试用期时,这非常有用。

但是,如果用户处于试用期,则仅当您要更改的计划的计费间隔相同时才有效。例如。如果您使用的是月度计划,则更改为另一个月度计划是可行的。

如果您处于包月计划的试用期,并且您正在更改为包年计划(反之亦然),那么它会将即将到来的发票显示为今天到期的 0.00 美元。

这也通过 Stripe 仪表板发生:

有没有办法显示实际金额,而不是 0.00 美元?

【问题讨论】:

  • 您可能想通过subscription_trial_end 看看如果试用立即结束会是什么样子。
  • @taintedzodiac 谢谢,这实际上是一个有用的解决方法。我将无法显示发票日期(我必须跟踪试用结束日期并使用它),但至少金额是正确的。如果您将其添加为答案,我会将其标记为已接受。
  • 很高兴有帮助!添加为答案。

标签: stripe-payments laravel-cashier


【解决方案1】:

您可以通过subscription_trial_end 看看如果试用立即结束会是什么样子。

【讨论】:

  • 这有帮助!一个令人讨厌的行为是,如果您使用当前时间戳,则需要考虑时钟偏差,因为如果您的计算机自上次 NTP 运行以来速度稍快,您仍然可能获得 0 美元。如果您退得太远,并且客户最近更新了订阅,您将收到错误消息,因为它不在当前发票期间。我举起双手,要求当前时间戳少 3 秒。
猜你喜欢
  • 2020-11-26
  • 2013-01-16
  • 2017-08-14
  • 2019-07-27
  • 2022-10-14
  • 2020-01-30
  • 2023-03-27
  • 2014-05-02
  • 1970-01-01
相关资源
最近更新 更多