如何按Price ID/产品筛选Stripe订阅及Dashboard查询方法
Stripe订阅按Price ID分类及筛选方法
一、Node.js实现方式
1. 按Price ID分类所有订阅
通过Stripe API拉取全部订阅,再按price.id完成分组:
const stripe = require('stripe')('你的API密钥'); async function groupSubscriptionsByPriceId() { const subscriptions = await stripe.subscriptions.list({ limit: 100, // 订阅数量较多时需做分页处理,可按需调整 expand: ['data.items.price'] }); const groupedSubs = {}; subscriptions.data.forEach(sub => { sub.items.data.forEach(item => { const priceId = item.price.id; if (!groupedSubs[priceId]) { groupedSubs[priceId] = []; } groupedSubs[priceId].push(sub); }); }); console.log('按Price ID分组的订阅:', groupedSubs); } groupSubscriptionsByPriceId();
2. 筛选特定Price ID或产品的订阅
- 按特定Price ID筛选:
async function getSubscriptionsByPriceId(priceId) { const targetSubs = await stripe.subscriptions.list({ limit: 100, expand: ['data.items.price'], price: priceId // 直接指定Price ID完成筛选 }); console.log(`Price ID为${priceId}的订阅:`, targetSubs.data); } getSubscriptionsByPriceId('price_xxxxxx');
- 按特定产品筛选:
先获取产品关联的所有Price ID,再批量筛选对应订阅:
async function getSubscriptionsByProductId(productId) { // 获取目标产品下的全部Price const prices = await stripe.prices.list({ product: productId, limit: 100 }); const priceIds = prices.data.map(p => p.id); // 拉取所有匹配的订阅 const matchingSubs = []; for (const priceId of priceIds) { const subs = await stripe.subscriptions.list({ limit: 100, price: priceId }); matchingSubs.push(...subs.data); } console.log(`产品ID为${productId}的订阅:`, matchingSubs); } getSubscriptionsByProductId('prod_xxxxxx');
二、Stripe Dashboard直接查看方法
无需代码也能在后台完成筛选和查看:
- 按Price ID筛选订阅:
- 进入Stripe Dashboard的「订阅」页面
- 点击顶部的「筛选」按钮
- 在筛选选项中选择「价格」,输入目标Price ID即可得到对应订阅
- 按产品筛选订阅:
- 在「订阅」页面打开筛选器
- 选择「产品」,从下拉列表中选中目标产品,就能看到该产品下的所有订阅
- 按Price ID分组查看:
Dashboard没有直接的分组展示功能,但可以通过逐个筛选Price ID查看对应订阅,或者点击页面右上角的「导出」按钮,将订阅数据导出到Excel/Google Sheets后,按Price ID列做分组整理。
内容的提问来源于stack exchange,提问作者Nuqo
相关产品推荐
相关产品推荐

