我正在为我的Nextjs应用程序使用条带支付网关.我要为 checkout 添加多个产品,但在将图像添加到line_Items的product_data时出错.

该API仅适用于PRODUCT_Data对象中的名称.当我添加图像时,我得到的错误响应是statusCode 400,无效数组

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  if (req.method === "POST") {
    try {
      let requestArray = req.body;
      var result = requestArray.map((ele: any) => ({
        price_data: {
          currency: "usd",
          unit_amount: Number(ele.price) * 100,
          product_data: {
            name: ele.name,
            images:ele.imageURL
          },
        },
        quantity: ele.qty,
      }));

      // Create Checkout Sessions from body params.
      const session = await stripe.checkout.sessions.create({
        line_items: result,
        mode: "payment",
        success_url: `${req.headers.origin}/checkout?success=true`,
        cancel_url: `${req.headers.origin}/checkout?canceled=true`,
      });

      res.json({ id: session.id });
    } catch (err: any) {
      res.status(err.statusCode || 500).json(err.message);
    }
  } else {
    res.setHeader("Allow", "POST");
    res.status(405).end("Method Not Allowed");
  }
}

如有任何建议,我将不胜感激

推荐答案

images必须是string中的array.您最多可以按doc添加8个图片的URL.

ele.imageURLstring类型的.

Node.js相关问答推荐

NodeJS中的Vertex AI GoogleAuthError

聚合操作不返回任何具有mongoose模式的内容

FHIR 服务器:尽管 JSON 格式正确,但在 POST 请求中接收未定义请求正文

从mongodb集合中获取每分钟数据的每小时数据

dayjs的isSameOrAfter方法未按预期工作

如何在 JavaScript 中显示多维数组中使用的一维数组的变量名?

使用更新版本仍然找到包@angular/fire但不支持原理图

连接到在线 redis 数据库时出错

如何在带有 JS 的 Nodejs 中使用没有 Async 方法的 Await

node_modules/preact/src/jsx.d.ts:2145:22 - 错误 TS2304:找不到名称SVGSetElement

如何防止 Chrome 通过 Selenium 崩溃?

如何解决这个关于 TaskRunner 的 Node/Express 代码问题?

部署云功能 Firebase/Stripe 时出错

为什么 req.params.id 返回 undefined未定义?

在 Passport 策略回调中获取请求对象

Node.js + Express + Handlebars.js + 局部视图

如何undo撤消 Object.defineProperty 调用?

所有的javascript回调都是异步的吗?如果不是,我怎么知道哪些是?

名称类型为 mongoose 的字段

NodeJS:如何调试检测到 EventEmitter 内存泄漏.添加了 11 个侦听器