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

iOS内购收据验证疑问:verifyReceipt已弃用,求最新方法

iOS内购收据验证最新方案及接口说明

1. 正确且最新的收据验证方法

苹果目前官方推荐使用App Store Server API作为内购交易/收据验证的替代方案,完全取代已弃用的verifyReceipt接口。核心执行流程如下:

  • 生成JWT授权令牌:用在App Store Connect创建的App Store Connect API密钥(Users & Access -> Integrations -> Keys路径获取),以ES256算法生成包含kid(密钥ID)、iss(Issuer ID)、iat(签发时间)等必填声明的JWT令牌。
  • 调用对应API端点:根据业务需求选择匹配的接口,比如单交易验证、订阅状态查询等。
  • 验证响应合法性(可选但推荐):苹果返回的响应附带签名,可通过苹果根证书验证签名,确保数据未被篡改。
  • 完成业务逻辑:依据API返回的交易状态、订阅有效期、退款记录等信息,完成用户权益发放、交易状态同步等操作。

2. 关于GET /inApps/v1/transactions/{transactionId}接口的说明

是的,该接口是App Store Server API中用于验证单条交易的官方接口,但使用时需注意以下细节:

  • 必须携带JWT授权头:请求时需在Authorization头中添加Bearer <你的JWT令牌>,否则会返回权限错误。
  • 区分环境域名:沙盒环境使用https://api.storekit-sandbox.itunes.apple.com,生产环境使用https://api.storekit.itunes.apple.com。
  • 接口返回价值:该接口会返回对应transactionId的完整交易详情,包括交易时间、商品信息、收据数据、订阅状态(针对订阅类商品)等,可直接用于验证交易有效性。

如果你的业务核心是定期订阅的全生命周期管理(比如续期、过期、退款追踪),更推荐使用GET /inApps/v1/subscriptions/{subscriptionId}/status接口,它能返回该订阅的所有关联交易记录及当前状态,适配订阅业务的复杂场景。

内容的提问来源于stack exchange,提问作者Kıvanç ARSLAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 21:32:40