下面是我总结的全部内容:
- 应用内购买整体操作流程步骤
- iOS端(客户端)需要操作的流程步骤
- 服务端需要操作的流程步骤
- 参考文档
应用内购买( In-App-Purchase 后续简称 IAP)官方文档地址:官方文档地址
一、IAP整体操作流程总结
- 1.1 IAP 交互关系原理图
交互关系图
- 1.2 IAP调起支付流程时序图
IAP调起支付流程时序图
- 1.3 单次购买流程交互步骤(文字版本)
- 客户端向服务器发送一份请求,请求获取一份产品列表(产品列表保存在服务端就是为了业务灵活)
- 服务器返回包含产品标识符 Produce_ID 的产品列表(这个产品标识符是在ITC配置的,服务端需要在配置完成后,存储在服务端)
- 客户端用产品标识符 Produce_ID,通过StoreKit提供的API 向App Store发送请求,请求得到产品信息
- App Store会根据客户端传来的标识符返回产品信息
- 客户端需要把返回的产品信息展示给用户看(App的Store界面,苹果自己提供的标准展示样式)
- 用户点击选择某个产品,然后会进入到支付流程里了
- 客户端把产品信息发给服务端(通过接口的方式)
- 在服务端订单生成后,将订单号返回给客户端
- 客户端利用订单号,通过StoreKit向App Store发起支付请求
- App Store处理支付请求,返回交易完成的信息(该信息对象即为responseBody responseBody官方文档地址)
- 客户端从返回的信息中获取数据,发送给服务端
- 服务端记录数据,并进行服务端需要的逻辑验证和审查
- 服务端完成审查后,将数据发送给App Store来验证交易的有效性
- App Store对收到的数据进行解析,返回该数据和说明其是否有效的标识
- 服务端读取返回的数据,确定用户购买的内容
- 服务端将购买的内容传递给客户端
- 客户端得到服务端的结果后,确认交易结果
- 客户端得到交易成功通知后,通过StoreKit API告知 AppStore 说明本次交易完成,并关闭本次内购交易
二、iOS(客户端)需要操作的内容
- 2.1 iOS这边需要做的全部流程图
iOS应用内购买IAP流程图
- 2.2 iOS端基于IAP需要做的全部工作内容文字版本
- 准备一个$99个人开发者账号,一张银行卡,然后创建应用appId(需要勾选In-App-Purchase)/证书配置/AppStoreConnect创建并配置项目
- 签署《付费应用程序协议》,签署协议之前需要配置协议、税务、银行业务信息
- 在 App Store Connect 中配置 App 内购买项目
- 在 Xcode中启动App内购买项目
- 设计并创建App内购买项目
- 测试App内购买项目
- 发布App和App内购买项目到App Store
三、服务端需要操作的内容
- 3.1 参考苹果官方文档IAP内购官方文档地址以及博客 苹果应用内购买(IAP),服务器端开发处理流程