next.js 为多个产品的条纹结账会话添加图像

ibps3vxo  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(85)

我正在为我的Nextjs应用程序使用条带支付网关。我有多个产品添加的结帐,但我得到错误时,添加图像的product_data为line_items。
该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");
  }
}

字符串
我将感激任何建议

woobm2wo

woobm2wo1#

images必须是stringarray。您可以根据doc添加最多8个图像URL。
ele.imageURL的类型为string

相关问题