[英]How to access items metadata in Stripe checkout session
当我创建 Checkout session 时,我正在使用price_data
和product_data
属性即时创建价格。 对于每个项目,我将元数据放入product_data.metadata
属性中。
支付成功后,我获取session数据,以便向客户显示支付成功页面。 但由于某种原因,项目的元数据是空的。 当我在仪表板中检查时,项目的元数据存在,但当我使用 API 获取它时,它们是空的。
我尝试使用扩展line_items
属性获取整个 session 数据:
const session = await stripe.checkout.sessions.retrieve(session_id, { expand: ['line_items'] });
而且我还尝试直接获取项目:
const line_items = await stripe.checkout.sessions.listLineItems(session_id);
在这两种情况下,每个项目的元数据都是空的。
在动态创建项目时,元数据最终位于产品属性中,而不是价格属性中。
所以我通过使用产品数据扩展项目解决了这个问题:
const line_items = await stripe.checkout.sessions.listLineItems(session_id, {
expand: ['data.price.product'],
});
响应具有product
属性中的元数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.