PHP Stripe技术问询:如何筛选特定Product ID的所有SKU
筛选Stripe中特定Product ID的SKU
嘿,这事儿其实超简单!Stripe的SKU列表接口本身就支持按Product ID筛选,你完全不用手动遍历所有SKU再过滤——直接用官方提供的参数就能高效搞定。
先给你修改好的可运行代码:
\Stripe\Stripe::setApiKey('TESTKEY'); // 把这里的'prod_xxxxxx'替换成你要筛选的实际Product ID $targetProductId = 'prod_xxxxxx'; $filteredSKUs = \Stripe\SKU::all([ 'limit' => 10, 'product' => $targetProductId ]); foreach ($filteredSKUs->autoPagingIterator() as $sku) { // 注意你原代码里的$sku->$id是语法错误,正确写法是$sku->id echo $sku->id . "<br />"; }
几个关键细节说明:
product参数就是核心筛选条件,指定目标Product ID后,Stripe会直接返回属于该产品的所有SKU,服务器端筛选比你本地遍历效率高多了。- 帮你修正了原代码里的小bug:
$sku->$id是错误写法,正确获取SKU ID的方式是$sku->id。 - 你原来用的
autoPagingIterator()没问题,如果目标产品的SKU数量超过limit设置的10个,它会自动帮你分页拉取所有结果,不用自己处理分页逻辑。
要是之后需要其他筛选维度,比如只看激活状态的SKU,也可以给SKU::all()加对应参数,按需调整就行。
内容的提问来源于stack exchange,提问作者Chris MB
相关产品推荐
相关产品推荐

