Node.js环境下如何通过邮箱检索Stripe客户并获取客户ID
Stripe 邮箱查询客户 ID 问题解答
首先明确:stripe.customers.retrieve() 方法仅支持传入 Stripe 生成的客户 ID 作为参数,不支持直接传入邮箱查询,这就是你运行代码报错的原因。
正确实现方式
你可以使用 stripe.customers.list() 接口,传入 email 参数过滤符合条件的客户,再从返回结果中提取客户 ID 即可,参考代码如下:
const customers = await stripe.customers.list({ email: 'info@myemail.com', // 确认单个邮箱仅对应一个客户时可加limit参数,减少返回数据量 limit: 1 }); if (customers.data.length > 0) { const customerId = customers.data[0].id; // 此处编写拿到客户ID后的业务逻辑 } else { // 此处编写未匹配到对应客户的处理逻辑 }
注意事项
Stripe 平台允许多个客户绑定同一个邮箱地址,因此接口返回的是客户数组。如果你业务场景中存在同邮箱对应多个客户的情况,需要额外结合客户创建时间、自定义元数据等字段筛选出你需要的目标客户。
内容的提问来源于stack exchange,提问作者gianlps
相关产品推荐
相关产品推荐

