520、苹果内购(IAP) StoreKit App Store Connect 配置 - BMWB/Fastlane_Swift GitHub Wiki

JWT —— 用于保障后台接口安全调用

注意,上述提到的 Subscription Status API & In-App Purchase History API 均采用 JWT 验证,我们需要执行以下 步骤

1、从 App Store Connect 配置 In-App Purchase Keys(参考下图)(没错,又是一个新的 Key,截止目前,已 有共享密钥、App 专用共享密钥、促销优惠密钥、In-App Purchase Keys 等四类 IAP 相关的密钥)

image

2、从 App Store Connect 中获取 KeyID,用于放置 JWT header.kid 字段 3、从 App Store Connect 中获取 IssuerID,用于放置 JWT payload.iss 字段 4、使用 ES256 算法及 In-App Purchase Keys 私钥对请求提进行签名 5、将头部、内容部分及签名部分通过逗号拼接,获得 JWT,用于请求相关 API

image

注意:签发时间 iat 与过期时间 exp 相隔必须在一小时内

Sandbox Test

沙盒测试环境

195088852-9ef77b1e-56d0-4c6b-a5e6-50be88214719

  • 更新现有沙盒账号
  • 订阅状态 API
  • 应用内购买历史记录 API

195088820-05ae97d4-17b7-4639-95c1-8c4876ecb37a

App Store server notifications 新增沙盒环境的回调 URL 配置! 这个测试以后就方便啦~

195089008-6d61e25b-51f7-4c27-a3f4-89260729a352

App Store server notifications 设置 URL 支持 V1 或者 V2 配置,因为 V2 变动比较大,所以就增加了一个新的版本,不知道明年会不会有 V3? -.-

195089184-8161dad4-83ab-48eb-9c03-b27979234247

沙盒测试:

  • 清历史购买记录
  • 改帐号所在地区
  • 测试订阅过期时间更多选择
  • TestFlight 验单将失败等。[社会社会]

清历史购买记录:

195089296-c20ab414-4b8b-43f6-8466-a45fcc9a553a

改帐号所在地区:

195089540-d4d0ca78-8940-4122-91d3-c52575a6ae4d

测试订阅过期时间更多选择:

195089802-8f1df25b-3c20-47c2-93d3-ca4f34da4f25

参考: https://juejin.cn/post/6974733392260644895#heading-21 App Store Connect 配置.pdf