You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP在Stripe结账会话中获取订单项元数据及商品描述

Stripe Checkout 订单项数据获取问题解决

获取订单项的Metadata

调用allLineItems方法时,默认返回的订单项数据不会包含关联的Product/Price对象的Metadata。你需要在调用时添加expand参数,展开关联的price.product对象,才能拿到Metadata:

$checkout_lineitems = $stripe->checkout->sessions->allLineItems(
    $_GET['session_id'],
    ['expand' => ['data.price.product']]
);

// 遍历订单项获取Metadata
foreach ($checkout_lineitems->data as $item) {
    // 获取Product的Metadata
    $productMetadata = $item->price->product->metadata;
    // 读取具体自定义字段
    $customField = $productMetadata['your_custom_key'] ?? '';
}

如果你的Metadata是直接绑定在Price对象上的,就把expand参数改成['data.price'],然后通过$item->price->metadata获取。

正确获取商品描述

当你通过product_data创建临时商品时,订单项的description字段会默认显示商品名称,而真正的商品描述存储在关联的Product对象中。同样需要通过expand参数展开price.product,然后从Product对象里读取描述:

// 先执行带expand参数的allLineItems调用(同上)
$firstItem = $checkout_lineitems->data[0];
// 正确获取商品描述
$productDescription = $firstItem->price->product->description;

这样就能拿到你设置的'My item'这个描述内容了。

内容的提问来源于stack exchange,提问作者Stevio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:03:10