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

Stripe Node.js中subscriptions.retrieve调用失败:无法读取retrieve属性

解决Stripe Node.js调用subscriptions.retrieve报错问题

出现Cannot read properties of undefined (reading 'retrieve')错误,核心原因是stripe.subscriptions未被正确初始化,导致该属性为undefined。以下是具体排查和解决步骤:

  • 检查Stripe实例初始化是否正确
    确保调用subscriptions.retrieve前,已正确初始化Stripe实例并传入有效API密钥:

    • CommonJS环境(Node.js默认):
      const stripe = require('stripe')('你的Stripe秘钥');
      
    • ES模块环境(使用import):
      import Stripe from 'stripe';
      const stripe = new Stripe('你的Stripe秘钥');
      

    注意:若仅写const stripe = require('stripe')而未传入密钥调用函数,stripe对象不会包含subscriptions等API方法,必然触发报错。

  • 检查拼写是否正确
    确认代码中是stripe.subscriptions.retrieve(复数形式),而非单数stripe.subscription.retrieve——拼写错误会直接导致属性不存在。

  • 确认代码运行在异步函数中
    虽然报错与异步无关,但await必须在async函数内使用,确保调用代码包裹在异步函数中:

    async function getSubscription(subId) {
      const stripeSubscription = await stripe.subscriptions.retrieve(subId);
      console.log(stripeSubscription);
    }
    
  • 验证Stripe版本兼容性
    你使用的v8.222.0和v10.10.0版本都支持subscriptions.retrieve方法,版本本身不是问题,但升级后需重新安装依赖(执行npm install或yarn install),避免缓存导致的版本不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:35:17