首页 > 解决方案 > Stripe - 如何同时列出活动订阅和试用订阅

问题描述

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

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



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

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

标签: node.jsstripe-payments

解决方案


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

  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));

推荐阅读