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

Node集成Stripe报错Cannot read property 'sessions' of undefined如何解决

问题排查与解决步骤

1. 检查服务端Stripe模块导入逻辑

这是最高概率的错误原因:

  • 首先确认你已正确安装官方Stripe Node SDK,执行安装命令:npm install stripe --save
  • 确认服务端代码存在正确的Stripe构造函数引入,CommonJS规范写法为const Stripe = require('stripe'),ES模块规范写法为import Stripe from 'stripe',如果缺少这行导入,直接调用Stripe(stripeKey)生成的实例会缺少所有内置属性。

2. 确认Stripe SDK版本符合要求

checkout.sessions是Stripe SDK v8及以上版本才稳定支持的接口,旧版本SDK不存在该属性:

  • 执行命令npm list stripe查看当前项目安装的SDK版本
  • 如果版本低于v8,执行npm install stripe@latest --save升级到最新正式版即可。

3. 修正前端axios调用逻辑

你当前的axios代码混杂了fetch的语法规则,会导致后端无法正常接收priceId参数,修正后代码如下:

const createCheckoutSession = (priceId:any) => {
    return axios.post("/create-checkout-session", {
      priceId: priceId
    }).then(function(result) {
      return result.data; // axios返回数据直接取result.data,不需要括号调用
    });
  };

const handleClick = async (event:any) => {
    const stripe = await stripePromise;
    createCheckoutSession('price_1J7UmZFYFs5GcbAXvPronXSX').then(function(data) {
        stripe
          .redirectToCheckout({
            sessionId: data.sessionId
          })
          .then(()=>{console.log('handleResult')});
      })
};

4. 验证依赖缓存问题

如果上述操作后还是不存在checkout属性,可以删除项目根目录的node_modules文件夹、package-lock.json(或yarn.lock)文件,重新执行npm install安装所有依赖,排除依赖缓存导致的实例异常。

内容的提问来源于stack exchange,提问作者Luis Fernando Manzano

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 15:15:04