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

如何使用Stripe插入metadata详情或扩展新的自定义属性

Stripe Checkout Session 添加Metadata 正确实现方案

你当前将metadata参数放在line_items的子数组中是无效的,Stripe 公开的Checkout Session创建参数中,line_items单个条目没有直接的metadata入参,所以你写的这部分内容不会被Stripe接收,自然无法在webhook中返回。

你可以根据需求选择以下实现方案:

  • 方案1:添加Session级全局Metadata
    直接将metadata参数放在Session::create的一级参数中,所有自定义内容会挂载到整个结账会话对象上,在checkout.session.completed等webhook事件中可直接读取。
$session = \Stripe\Checkout\Session::create([
    'success_url' => 'https://example.com/success',
    'cancel_url' => 'https://example.com/cancel',
    'payment_method_types' => ['card'],
    'line_items' => [
        [
            'price' => $price_id,
            'quantity' => 1,
        ],
    ],
    'mode' => 'payment',
    // 全局Metadata 所有自定义字段可放在这里
    'metadata' => [
        'prod_id' => 'TEST',
        'custom_field1' => '自定义值1',
        'custom_field2' => '自定义值2'
    ]
]);
  • 方案2:将Metadata关联到付款意图(Payment Intent)
    如果需要自定义内容在付款相关的webhook(比如payment_intent.succeeded)、付款记录详情中也能查到,可以把Metadata放在payment_intent_data参数下:
$session = \Stripe\Checkout\Session::create([
    'success_url' => 'https://example.com/success',
    'cancel_url' => 'https://example.com/cancel',
    'payment_method_types' => ['card'],
    'line_items' => [
        [
            'price' => $price_id,
            'quantity' => 1,
        ],
    ],
    'mode' => 'payment',
    // 关联到付款意图的Metadata
    'payment_intent_data' => [
        'metadata' => [
            'prod_id' => 'TEST',
            'pay_custom_field' => '付款相关自定义值'
        ]
    ]
]);
  • 多商品单独标记方案
    如果你的结账会话包含多个商品,需要分别给每个商品加自定义标识,可以把所有商品的元数据拼装为JSON字符串后,存入Session级Metadata的单个键中,触发webhook后再解析即可:
// 多商品元数据示例
$lineItemsMeta = json_encode([
    ['prod_id' => 'TEST1', 'prod_name' => '商品1'],
    ['prod_id' => 'TEST2', 'prod_name' => '商品2']
]);

$session = \Stripe\Checkout\Session::create([
    // 其他参数不变
    'metadata' => [
        'all_line_items_meta' => $lineItemsMeta
    ]
]);

注意:Stripe Metadata 限制:单条Metadata的键和值最大长度均为500字符,单个对象最多支持50个Metadata键,超出限制会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:36:00