You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS+Stripe:trial_period_days在Node函数中失效问题求助

Stripe订阅中trial_period_days参数未被识别的可能原因

以下是几个常见的排查方向:

  • 价格对象自带试用期配置:你使用的price_1KZ3nTGxUje7SlyIDUfIXkr3这个价格,如果在Stripe后台已经设置了固定的试用期,订阅创建时传入的trial_period_days会被后台配置覆盖,甚至引发参数冲突错误。先去Stripe后台检查这个价格的试用期设置。

  • API版本不兼容:不同版本的Stripe API对参数的处理可能有差异,如果你用的Stripe Node.js SDK版本较旧,可能存在参数不兼容的情况。可以尝试升级SDK到最新稳定版,或者在代码中指定明确的API版本(比如stripe.setApiVersion('2024-04-10'))。

  • 参数冲突:如果订阅同时设置了trial_end参数(哪怕是代码里没显式写,但后台配置或其他逻辑自动生成了),trial_period_days会被trial_end覆盖。检查是否有其他地方设置了试用期结束时间。

  • 参数位置错误:虽然你的场景是全局试用期,参数位置没问题,但如果是针对单个订单项的试用期,需要把参数放在items数组的每个对象里。不过你的代码写法是对的,这条可以作为额外排查点。

你的代码示例:

const subscription = await stripe.subscriptions.create({
                customer: customer.id,
                items: [{ price: "price_1KZ3nTGxUje7SlyIDUfIXkr3" }],
                payment_settings: {
                  payment_method_options: {
                    card: {
                      request_three_d_secure: "any",
                    },
                  },
                  payment_method_types: ["card"],
                  save_default_payment_method: "on_subscription",
                },
                trial_period_days: 7,
                expand: ["latest_invoice.payment_intent"],
              });

内容的提问来源于stack exchange,提问作者Paul VI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:43:17