javascript - 如何在结帐时传递 stripe 上的现有订阅详细信息

我从零开始在 stripe 上有不同的订阅计划。当客户注册时,我会默认创建一个包含免费计划的订阅。

将来,客户希望通过结帐 session 升级计划,我如何将我现有的订阅详细信息传递到结帐 session 以更新标记到订阅 ID 的计划,而不是创建多个订阅。

我浏览了 stripe create checkout session 文档,但找不到在结帐 session 中传递订阅 ID 的方法。

任何帮助将不胜感激

最佳答案

您正在尝试通过不支持的 CheckoutSession 更新现有订阅。

如果客户使用 Checkout 注册新的价格,则会创建一个全新的订阅对象。您不能传递现有的订阅 ID,因为 Checkout 无法修改它。

您应该在 mode:setup 中使用 Checkout 来收集客户的银行卡详细信息。此设置模式仅收集银行卡详细信息,但不会向该客户收费或创建订阅。

然后在您收到 checkout.session.completed webhook 事件后,在您的服务器端代码中,更新现有订阅以从“免费”价格切换到“付费”价格:https://stripe.com/docs/api/subscriptions/update

https://stackoverflow.com/questions/70071318/

相关文章:

c++ - `shared_ptr::use_count() == 0` 和 `shared_ptr

android - 如何在Jetpack Compose中实现翻译动画?

c# - 如何从 C# 中使用具有另一个函数作为参数的 Rust 函数?

ios - 如何获取 UTType 图像、音频和视频的所有扩展

apache-kafka - 如何触发Kafka再平衡?

c++ - 从字节初始化一个由 trivially_copyable 但不是 default_con

r - 在 dplyr 中跨列过滤

java - 在java中对字符串进行排序时如何忽略空格?

ruby-on-rails - 如何一次为 Ruby 中的对象分配多个属性

function - 关于在函数和宏定义中使用结构文字