Stripe 订阅升级/降级客户的更改日期

Stripe subscription upgrade/downgrade change date of a customer

提问人:ashemez 提问时间:11/16/2023 更新时间:11/16/2023 访问量:51

问:

我正在努力找到使用 API 的客户订阅升级/降级更改日期的确切日期。我使用 Stripe 定价表,并允许客户使用客户门户更新他们的计划。我可以看到当前的计划和价格数据,但找不到客户的实际订阅更改日期。

Webhook 是可以的,但由于可能会错过 Webhook,我需要能够定期查询客户的订阅更改。假设客户创建了一个订阅,并在 5 天后更新到另一个层。如何查询此第二层更改日期?发票似乎是一种方式,但它们并没有确切地指出订阅更改日期。我正在使用 Go 库,但似乎没有问题。我也无法通过 API 请求找到我要查找的内容。

Stripe-Payments 订阅

评论

0赞 Jonathan Steele 11/16/2023
您能详细说明一下“可以错过 webhook”是什么意思吗?建议构建一个持久的 Webhook 终结点,该终结点可以处理通知您此类异步活动的事件。
0赞 ashemez 11/16/2023
@JonathanSteele我的意思是我接收并处理客户更新的 Stripe webhook 调用。但是,我的意思是,不能保证 stripe webhook 总是收到。我的应用程序可能会中断,或者由于网络问题可能会丢失 Webhook。
0赞 Jonathan Steele 11/16/2023
在无法访问终结点的情况下,我们会自动尝试重新传递事件。Webhook 实质上适用于任何 Billing 集成,我们建议您实施并依赖它们。在任何情况下,当通过门户升级/降级订阅时,它将触发从升级时开始的新计费周期。这可以针对current_period_start字段进行跟踪。
0赞 ashemez 11/16/2023
感谢您的建议。好吧,实际上我测试了current_period_start,它不返回订阅层更改值,而是返回实际订阅的开始时间。我检查了所有创建值和启动值。我将确保谨慎使用 webhook。但如果你问我,这是 Stripe 订阅中缺少的功能。我一直在寻找选项,看起来事件 API 适合这个。

答:

0赞 ashemez 11/16/2023 #1

我想对此发表评论,但代码块看起来并不漂亮。看起来 Stripe Event API 对此很有用。Golang 中的代码示例是这样的,可以在事件中进行迭代。

            eventParams := &stripe.EventListParams{
                Type: stripe.String("subscription.updated"),
                CreatedRange: &stripe.RangeQueryParams{
                    GreaterThanOrEqual: <lastQueryDate>,
                },
            }
            events := event.List(eventParams)

评论

1赞 Lucky2501 11/16/2023
这是一个很好的解决方案,但请记住,根据 Stripe 的保留政策,这只会返回过去 30 天内生成的事件 stripe.com/docs/api/events/list
0赞 ashemez 11/16/2023
你是对的,谢谢你的通知。