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

如何通过PayPal REST API在.NET应用中查询账户所有有效订阅?

查询PayPal账户有效订阅的REST API方案(.NET集成)

有的,PayPal官方提供了Subscriptions API来实现这一需求,具体可通过列表接口筛选出账户内的有效订阅。

核心API端点

使用GET /v1/billing/subscriptions接口,通过status参数过滤指定状态的订阅。针对“有效”场景,常用状态值包括:

  • ACTIVE:已激活的正常订阅(用户正在履约付款)
  • APPROVED:用户已批准但尚未完成首次付款的订阅(若需包含这类待激活的有效订阅可添加此值)

.NET代码示例(基于官方SDK)

如果使用PayPal官方的.NET SDK(PayPalCheckoutSdk),可按以下方式实现:

using PayPalCheckoutSdk.Core;
using PayPalCheckoutSdk.Subscriptions;
using System.Threading.Tasks;

// 初始化PayPal客户端(沙箱/生产环境二选一)
var environment = new SandboxEnvironment("你的ClientID", "你的ClientSecret");
// 生产环境替换为:new LiveEnvironment("你的ClientID", "你的ClientSecret");
var client = new PayPalHttpClient(environment);

// 构建订阅列表查询请求
var request = new SubscriptionsGetListRequest();
// 筛选ACTIVE状态的订阅,多个状态用逗号分隔,比如"ACTIVE,APPROVED"
request.QueryParameters.Add("status", "ACTIVE");
// 可选:设置分页大小,默认10,最大20
request.QueryParameters.Add("page_size", "20");
// 可选:按创建时间范围过滤,比如只查近30天的订阅
// request.QueryParameters.Add("start_time", "2024-01-01T00:00:00Z");

// 执行请求并获取结果
var response = await client.Execute(request);
var subscriptionCollection = response.Result<SubscriptionCollection>();

// 遍历订阅数据
foreach (var subscription in subscriptionCollection.Items)
{
    // 处理单个订阅信息,比如ID、用户邮箱、金额等
    var subId = subscription.Id;
    var payerEmail = subscription.Payer.EmailAddress;
    var planId = subscription.PlanId;
}

关键注意事项

  • 确保你的PayPal应用已开通Subscriptions API的访问权限(在PayPal开发者平台的应用设置中确认)
  • 分页处理:如果账户内订阅数量超过page_size,需要通过page参数循环请求,直到获取所有结果
  • 状态筛选可根据业务需求灵活调整,比如排除CANCELLED、EXPIRED等无效状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:12:07