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

使用Stripe Node.js API创建客户无返回值问题求助

Stripe Node.js 创建客户成功但无响应问题排查

问题情况

  • 按Stripe官方规范调用API创建客户,Stripe后台显示客户已成功创建,但代码卡在stripe.customers.create()调用处,既不返回响应,try块里的打印语句不执行,catch块也没捕获到任何错误,程序完全停滞。
  • 之前移除firebase-admin依赖后问题曾解决,但后续又复现。

相关代码

const args = {
  name: "username",
  email: "email@email.com"
}

try {
  const customer = await stripe.customers.create(args);
  console.log(customer.id)
} catch (err) {
  console.log(err);
}

排查与解决建议

  • 隔离依赖冲突
    • 单独写一个只包含Stripe初始化和创建客户的脚本测试,确认是否是项目中其他依赖(比如firebase-admin)干扰了Stripe的网络请求。
    • 检查Stripe实例的初始化,不要和firebase的HTTP客户端、全局代理设置混用,确保两者的网络配置完全独立。
  • 处理异步上下文与超时
    • 确保调用await的外层函数是async类型,避免异步代码未正确处理导致的阻塞。
    • 给Stripe请求加超时包装,避免无限等待:
      const createCustomerWithTimeout = async (args) => {
        const timeoutPromise = new Promise((_, reject) => 
          setTimeout(() => reject(new Error('Stripe请求超时')), 10000)
        );
        return Promise.race([
          stripe.customers.create(args),
          timeoutPromise
        ]);
      }
      
      try {
        const customer = await createCustomerWithTimeout(args);
        console.log(customer.id);
      } catch (err) {
        console.log(err);
      }
      
  • 检查依赖版本与配置
    • 把stripe和firebase-admin升级到最新稳定版,版本兼容问题可能引发此类异常。
    • 确认firebase-admin初始化时没有修改全局HTTP代理或Agent配置,这类全局修改会影响Stripe SDK的请求逻辑。
  • 网络环境排查
    • 检查本地/服务器的防火墙、代理是否拦截了Stripe的响应,导致请求挂起。
    • 查看Stripe后台的事件日志,确认客户创建事件是否正常触发,排除Stripe端的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 20:55:58