StoreKit 2与App Store Server API实战:iOS应用内购与订阅管理完整指南
作者:API传播员 · 2025-10-20 · 阅读时间:5分钟
苹果在2021年的WWDC大会上推出了全新的StoreKit 2框架,这是专门用于管理iOS应用内购买的工具。随着应用内购和订阅功能的普及,StoreKit 2通过简化集成流程,为开发者提供了更高效的解决方案。本文将从服务器端的角度,介绍如何通过App Store Server API使用StoreKit 2。
API 请求认证
在当前的JSON Web Token (JWT)标准进行认证。
IAP 密钥生成
首先,需要创建一个用于请求授权的私钥。具体步骤如下:
- 登录App Store Connect,进入“用户与访问”部分。
- 在“密钥”标签页中,选择“应用内购买密钥类型”并下载新密钥。
- 记录密钥ID,这可以在App Store Connect的API标签页中找到。

创建令牌
接下来,需要创建一个用于请求授权的JWT令牌。以下是一些关键点:
- 创建令牌的具体过程可以参考官方文档。
- 不需要为每次请求生成新的令牌。可以设置最长60分钟的有效期,在此期间重复使用同一令牌。
StoreKit 2 签名交易
新版API中的所有交易均以JSON Web Signature (JWS)格式返回。这种格式由三部分组成,以点号分隔。
- Base64头部:包含验证交易真实性所需的信息,例如加密算法(Alg键)和证书链(x5c键)。
- 交易负载:苹果对交易格式进行了修改和扩展,新增了以下字段:
- appAccountToken:包含系统用户ID(UUID格式),在移动端初始化购买时设置。
- offerIdentifier:用于追踪促销优惠或优惠码的使用情况。
- inAppOwnershipType:判断用户是直接购买(PURCHASED)还是通过家庭共享获取(FAMILY_SHARED)。
- type:表示交易类型,例如自动续订订阅、消耗型商品等。
- revocationDate 和 revocationReason:记录因退款导致的订阅撤销日期和原因。
- 所有键名均以camelCase格式返回,日期均以毫秒级Unix时间戳显示。
App Store 用户订阅状态
要查询用户的订阅状态,可以向以下URL发送GET请求:
https://api.storekit.itunes.apple.com/inApps/v1/subscriptions/{originalTransactionId}
其中,{originalTransactionId}为用户任意交易链的ID。返回结果包括:
- status:显示当前订阅状态,决定是否授予用户付费功能访问权限。
1表示订阅活跃。
- SignedTransactionInfo:包含交易链中最后一笔交易的信息。
- SignedRenewalInfo:提供订阅续订信息,可用于预测下一付费周期的状态。
用户交易历史
通过以下URL获取用户的交易历史:
https://api.storekit.itunes.apple.com/inApps/v1/history/{originalTransactionId}
返回结果是按时间排序的交易数组,每次请求最多返回20笔交易。如果有更多交易,hasMore标志会为true,需要通过携带revision参数再次请求。
服务器交易通知
服务器通知可以帮助开发者实时获取新购买、续订、账单问题等信息,从而简化订阅状态管理。
V2 版服务器通知的改进
相比V1版本,V2版服务器通知的主要改进包括:
- 单个用户操作仅触发一条通知,避免了多条通知带来的复杂性。
- 新增事件类型,例如
OFFER_REDEEMED、EXPIRED和GRACE_PERIOD_EXPIRED,进一步简化了订阅状态管理。 - 改进了
SUBSCRIBED和PRICE_INCREASE事件。

沙盒环境操作
在测试购买时,需要使用沙盒环境的URL:
https://api.storekit-sandbox.itunes.apple.com
目前,新版服务器通知尚不支持沙盒环境,但未来将支持为生产环境和沙盒环境指定不同的URL。此外,App Store Connect还新增了清除沙盒用户购买历史的功能,无需再创建新账号。
结论
苹果通过StoreKit 2显著提升了应用内购和订阅的服务器端处理体验。以下是一些关键改进:
- 促销优惠和优惠码支持:开发者可以更方便地追踪和分析优惠的使用情况。
- 内置分析功能:帮助快速掌握应用的核心指标。
- 迁移简单:只需获取每张收据的
originalTransactionId,即可轻松迁移到新API。
StoreKit 2为开发者提供了更高效、更安全的工具,值得尽早采用以优化用户体验。
原文链接: https://adapty.io/blog/storekit-2-api-tutorial/
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- API性能监控的关键指标 | APItoolkit
- 深入探索Java反射API:全面指南 – Aeon Tanvir
- 如何获取 tianqiip 开放平台 API Key 密钥(分步指南)
- Python实现表情识别:利用稠密关键点API分析面部情绪
- RWA 上链秒级碳信用合规评级 API:5 天
- 香港稳定币条例 GDPR 删除权 API:3 天合规实现
- Ktor 入门指南:用 Kotlin 构建高性能 Web 应用和 REST API
- 什么是API模拟?
- 基于NodeJS的KOA2框架实现restful API网站后台
- 2025 AI 股票/加密机器人副业|ChatGPT API 策略+TG Bot 信号 99 元/月变现
- 舆情服务API应用实践案例解析
- 为什么API清单是PCI DSS 4.0合规的关键