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

标签 javascript node.js stripe-payments

我从零开始在 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

关于javascript - 如何在结帐时传递 stripe 上的现有订阅详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70071318/

相关文章:

javascript - 如何在 Sails 中访问 Controller 外部的模型

php - 为什么我收到 Stripe 400 错误 - 无法多次使用 Stripe token ?

iOS-Swift,Stripe 创建临时 key 返回 Google 登录页面

javascript - crm 2011 如何使用 javascript 隐藏/显示功能区按钮

javascript - 为什么我的功能没有被限制?

javascript - 在构造函数中定义对象属性

javascript - Stripe 发票项目并不总是在一张发票中一起发送

javascript - 修复 CSS 定位和缩放

javascript - 避免重新评估并动态卸载使用 `require` 调用的对象

node.js - 如何通过cbq为Couchbase服务器中具有密码认证的存储桶创建索引?