Stripe - 如何同时列出活动订阅和试用订阅

时间:2021-02-28 16:12:18

标签: node.js stripe-payments

我将 NodeJs 与 Stripe 一起使用。我想以一种很好的方式检索一个客户的所有活动和试用订阅。到目前为止,我只能单独检索订阅。

const activeSubscriptionsObject = await stripe.subscriptions.list({
    customer: customerId,
    status: 'active'
  });



const trialingSubscriptionsObject = await stripe.subscriptions.list({
    customer: customerId,
    status: 'trialing'
  });

我应该怎么做才能获得同时包含试用订阅和活动订阅的订阅对象?

1 个答案:

答案 0 :(得分:1)

您不能像您要求的那样检索两个明确的状态(而不是其他状态)。这样做的方法是:

  1. 如您所做的那样,分别检索 activetrialing,然后合并结果;或者,
  2. 使用 status=all 请求列表以获取所有内容 (API ref),然后自己过滤结果。

像这样:

const allSubs = await stripe.subscriptions.list({
  customer: customerId,
  status: 'all'
});
const statuses = ['active', 'trialing'];
const trialAndActiveSubs = allSubs.data.filter(sub => statuses.includes(sub.status));
相关问题