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

PHP中如何解析Stripe\Collection输出提取价格数据?

在PHP中解析Stripe Collection获取价格字段的方法

解析Stripe\Collection获取字段

Stripe PHP SDK返回的Stripe\Collection是封装后的对象,无需手动解析JSON,直接通过对象属性即可访问数据:

  1. 获取价格对象数组:Collection的data属性是包含匹配价格对象的数组
  2. 访问价格字段:每个价格对象支持直接通过属性名获取对应值

示例代码:

$double = $stripe->prices->all(['lookup_keys' => ['double'] ]);

// 获取第一个匹配的价格对象
if (!empty($double->data)) {
    $price = $double->data[0];
    // 获取unit_amount字段
    $unitAmount = $price->unit_amount;
    // 获取其他字段示例
    $priceId = $price->id;
    $currency = $price->currency;
}

也可以使用SDK提供的first()方法快速获取第一个元素:

$price = $double->first();
if ($price) {
    $unitAmount = $price->unit_amount;
}

如果lookup_key对应多个价格(允许重复绑定),可以遍历所有结果:

foreach ($double->data as $price) {
    echo "价格ID:{$price->id},金额:{$price->unit_amount}";
}

更简便的价格获取方式

如果你的lookup_key是全局唯一的,当前的prices->all方式已经足够直接。另外还有两种场景的替代方案:

  • 通过产品ID获取关联价格:如果已知产品ID,可以直接查询该产品下的所有价格
    $prices = $stripe->prices->all(['product' => 'prod_PTDcNZpXM6NJMd']);
    
  • 使用价格ID直接获取:如果已经知道价格的ID,用retrieve方法更高效
    $price = $stripe->prices->retrieve('price_1OeHBECDQQBHRZz868I26QUy');
    $unitAmount = $price->unit_amount;
    

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

相关产品推荐
方舟 Agent Plan

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

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