我有两个产品A和B,每个产品有两个价格(1个月周期和3个月周期)。每个价格都有两种货币选择(美元和欧元)。
我可以使用以下命令列出所有价格:
const prices = await stripe.prices.list({});
但是它不返回每个产品价格的货币期权。我只得到默认货币(美元)的价格。如何检索所有货币的价格?我试过了:
const businessOwnerProduct = await stripe.prices.retrieve(
'price_xxxxxxxxxxxxxx',
{expand: ['currency_options']}
);
但是它返回每个产品的价格。因此,我需要多个请求(4)。
是否有一种方法来检索产品+价格(多种货币)的列表?
默认不返回currency_options
属性。这就是Stripe所说的"可包括的"。财产。这个想法是,它是昂贵的渲染,因为你可以有许多货币,所以你必须明确地要求它,当你检索它使用他们的扩展功能。
这就是第二个例子所做的,在调用Retrieve Price API时展开它。
Expand特性也可以在列表调用期间工作,如下所示。所以你的代码应该是这样的:
const prices = await stripe.prices.list({
expand: ['data.currency_options'],
});
注意data.
前缀作为API返回一个List,该List具有默认情况下包含10个价格的data
数组