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

Stripe创建Checkout会话报错:必须指定product或product_data

解决Stripe Checkout报错:"You must specify either product or product_data when creating a price"

问题分析

你代码里确实声明了price_data.product_data,但仍触发该报错,大概率是以下几个原因导致:

可能的原因及修复方案

  • cartItems数据不完整
    Stripe要求product_data.name是必填字段,如果前端传递的cartItems中存在item.name为空/undefined的情况,就会触发该错误。
    修复:

    1. 先打印cartItems确认数据有效性:
      console.log('cartItems:', cartItems);
      
    2. 后端添加兜底处理,避免空值:
      product_data: {
        name: item.name || '未命名商品',
      },
      
  • 重复声明mode字段
    代码里连续写了两次mode: "payment",虽然不直接导致当前报错,但属于冗余代码,建议删除其中一次。

  • Stripe SDK版本兼容问题
    旧版SDK可能对price_data的结构校验更严格,升级到最新稳定版即可:

    npm install stripe@latest
    

额外验证方案

如果动态创建商品的方式仍有问题,也可以改用已在Stripe后台创建好的商品ID:

price_data: {
  currency: "inr",
  product: 'prod_你的商品ID',
  unit_amount: item.price * 100,
},

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:45:40