Stripe API(.NET版)技术咨询:如何获取订阅名称而非仅ID
获取Stripe订阅名称的.NET实现方案
Stripe的Subscription对象本身并没有内置的"订阅名称"字段,你要找的名称其实是订阅关联的**产品(Product)**的名称——因为订阅是基于某个价格(Price)创建的,价格归属对应的产品,而产品才有Name属性。
方法一:获取订阅时自动扩展加载关联产品
调用订阅查询接口时,用Expand参数直接加载Price.Product关联数据,一次性拿到产品名称:
var service = new SubscriptionService(); var subscription = service.Get("sub_123456789", new SubscriptionGetOptions { Expand = new List<string> { "items.data.price.product" } }); // 从关联产品中提取名称 string subscriptionName = subscription.Items.Data.First().Price.Product.Name;
方法二:单独查询订阅关联的产品
如果已经拿到Subscription对象,可通过订阅内的价格ID,分步查询价格和对应的产品:
// 假设已获取到目标subscription对象 var priceService = new PriceService(); var targetPrice = priceService.Get(subscription.Items.Data.First().Price.Id); var productService = new ProductService(); var targetProduct = productService.Get(targetPrice.ProductId); string subscriptionName = targetProduct.Name;
注意事项
- 确保你的Stripe.NET SDK是最新版本,旧版本对扩展字段的支持可能有限
- 若订阅包含多商品(多个价格项),需要遍历
Items.Data里的每个价格,分别获取对应产品名称
内容的提问来源于stack exchange,提问作者Thanos79
相关产品推荐
相关产品推荐

