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

如何通过客户邮箱获取Stripe Subscription及订阅状态

通过客户邮箱获取Stripe订阅状态(单订阅服务场景)

在单订阅服务的场景下,你可以按以下流程用客户邮箱获取对应的订阅状态:

核心步骤

  1. 通过邮箱定位Stripe客户:调用Stripe客户列表接口,以邮箱为过滤条件找到目标客户
  2. 获取客户的订阅记录:由于仅提供一种订阅服务,每个客户最多只会有一条订阅记录,直接取第一条即可
  3. 提取订阅状态:从订阅对象中读取status字段

补全后的完整代码

import stripe

# 初始化Stripe客户端,替换为你的API密钥(建议从环境变量读取,不要硬编码)
stripe.api_key = "你的Stripe秘钥"

def get_customer_subscription_id(customer_email):
    # 1. 通过邮箱查找对应客户
    customers = stripe.Customer.list(email=customer_email, limit=1)
    if not customers.data:
        raise ValueError(f"未找到邮箱为 {customer_email} 的客户")
    
    target_customer = customers.data[0]
    
    # 2. 获取该客户的订阅记录(单服务场景下仅会返回一条)
    subscriptions = stripe.Subscription.list(customer=target_customer.id, limit=1)
    if not subscriptions.data:
        raise ValueError(f"邮箱为 {customer_email} 的客户无有效订阅记录")
    
    return subscriptions.data[0].id

# 使用示例
try:
    sub_id = get_customer_subscription_id("xyz@gmail.com")
    sub = stripe.Subscription.retrieve(sub_id)
    status = sub.status
    print(f"订阅状态:{status}")
except ValueError as e:
    print(e)

关键说明

  • 必须正确配置Stripe API密钥,否则无法调用接口
  • 两处limit=1的设置是为了减少数据传输,符合单订阅服务的场景
  • 加入异常处理是为了避免因客户不存在、无订阅等情况导致程序崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:05:17