我正在构建一个Amazon克隆,当我试图将条带与克隆集成时,我会得到以下错误。有人能帮帮我吗?我指的是这个视频:https://www.youtube.com/watch?v=4E0WOUYF-QI&t=4092s
错误片段:
错误- StripeInvalidRequestError:您不能在这个API版本中使用
line_items.amount、line_items.currency、line_items.name、line_items.description或line_items.images。请使用line_items.price或line_items.price_data。有关更多信息,请参见https://stripe.com/docs/payments/checkout/migrating-prices。
代码片段:
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 });
};发布于 2022-09-24 11:07:53
这里的问题是transformedItems函数。您用它初始化的API版本要求产品的描述(即item.description)在product_data对象中。
只需将描述移动到所描述的对象中,就可以重写您的函数:
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],
},
},
}));这个信息是在错误提供给您的文档链接中提供的,但是您可能已经错过了。
发布于 2022-11-10 04:13:21
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],
},
},
}));
https://stackoverflow.com/questions/73834682
复制相似问题