首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StripeInvalidRequestError:您不能使用`line_items.amount`、`line_items.currency`、`line_items.name`、`line_items.description`或`line_items

StripeInvalidRequestError:您不能使用`line_items.amount`、`line_items.currency`、`line_items.name`、`line_items.description`或`line_items
EN

Stack Overflow用户
提问于 2022-09-24 04:15:30
回答 2查看 519关注 0票数 2

我正在构建一个Amazon克隆,当我试图将条带与克隆集成时,我会得到以下错误。有人能帮帮我吗?我指的是这个视频:https://www.youtube.com/watch?v=4E0WOUYF-QI&t=4092s

错误片段:

错误- StripeInvalidRequestError:您不能在这个API版本中使用line_items.amountline_items.currencyline_items.nameline_items.descriptionline_items.images。请使用line_items.priceline_items.price_data。有关更多信息,请参见https://stripe.com/docs/payments/checkout/migrating-prices

代码片段:

代码语言:javascript
复制
const stripe = require("stripe")(process.env.STRIPE_SECRET_KEY);

export default async (req, res) => {
    const { items, email } = req.body;

    const transformedItems = items.map((item) => ({
        description: item.description,
        quantity: 1,
        price_data: {
            currency: "gbp",
            unit_amount: item.price * 100,
            product_data: {
                name: item.title,
                images: [item.image],
            },
        },
    }));

    const session = await stripe.checkout.sessions.create({
        payment_method_types: ["card"],
        shipping_rates: ["shr_1LkVMHSArY9HEMGlxjejfRWf"],
        shipping_address_collection: {
            allowed_countries: ["GB", "US", "CA"],
        },
        line_items: transformedItems,
        mode: "payment",
        success_url: `${process.env.HOST}/success`,
        cancel_url: `${process.env.HOST}/checkout`,
        metadata: {
            email,
            images: JSON.stringify(items.map((item) => item.image)),
        },
    });

    res.status(200).json({ id: session.id });
};
EN

回答 2

Stack Overflow用户

发布于 2022-09-24 11:07:53

这里的问题是transformedItems函数。您用它初始化的API版本要求产品的描述(即item.description)在product_data对象中。

只需将描述移动到所描述的对象中,就可以重写您的函数:

代码语言:javascript
复制
const transformedItems = items.map((item) => ({
    quantity: 1,
    price_data: {
        currency: "gbp",
        unit_amount: item.price * 100,
        product_data: {
            name: item.title,
            description: item.description, //description here
            images: [item.image],
        },
    },
}));

这个信息是在错误提供给您的文档链接中提供的,但是您可能已经错过了。

票数 2
EN

Stack Overflow用户

发布于 2022-11-10 04:13:21

代码语言:javascript
复制
 const transformedItems = items.map((item) => ({
    quantity: 1,
    price_data: {
      currency: "inr",
      unit_amount: item.price * 100,
      product_data: {
        description: item.description,
        name: item.title,
        images: [item.image],
      },
    },
  }));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73834682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档