You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中通过客户邮箱检索Stripe订阅并查看状态

Stripe通过客户邮箱查询订阅状态的实现方案

该需求可正常实现,无需提前存储订阅ID,按两步操作即可:

  • 第一步:调用Stripe客户列表接口,通过邮箱参数匹配获取对应客户ID
    stripe.subscriptions.retrieve接口仅支持传入订阅ID查询单条订阅,不支持过滤参数,因此不能直接传入邮箱查询,需要先通过邮箱拿到关联的客户ID
  • 第二步:调用订阅列表接口,传入第一步获取的客户ID,即可查询该客户名下的所有订阅,也可直接传入状态参数过滤活跃订阅

完整实现代码

const stripe = require('stripe')('你的Stripe密钥');

async function getActiveSubscriptionByEmail(email) {
  // 1. 通过邮箱检索匹配的客户
  const customerList = await stripe.customers.list({
    email: email,
    limit: 1
  });

  // 无匹配客户直接返回空
  if (customerList.data.length === 0) {
    return [];
  }

  const targetCustomerId = customerList.data[0].id;

  // 2. 检索该客户名下的活跃订阅
  const activeSubscriptions = await stripe.subscriptions.list({
    customer: targetCustomerId,
    status: 'active', // 直接过滤活跃状态订阅,无需手动筛选
    limit: 5
  });

  return activeSubscriptions.data;
}

// 调用示例
const subscriptions = await getActiveSubscriptionByEmail('contact@Inderatech.com');
res.send(subscriptions);

注意:如果你的业务允许同一个邮箱绑定多个Stripe客户,可调整第一步的limit参数,遍历所有匹配到的客户分别查询订阅即可。

内容的提问来源于stack exchange,提问作者gianlps

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:18:03