前言

开发苹果订阅,客户端的改动不大,主要服务端要处理苹果服务器发送的通知,判断通知类型,验证收据

基本步骤

1、苹果后台创建订阅商品,创建共享密钥password

2、苹果后台配置通知自己服务器地址url

3、解析苹果通知,开发自己的逻辑(主要编程部分)

1、苹果后台创建订阅商品

苹果后台创建商品列表的上方,就会有创建共享密钥的按钮,只有拥有该权限的人才能看到,重点来了,创建了共享密钥,在验证苹果收据的时候所有的商品都要增加参数,把收据和共享密钥都要发到苹果服务器进行验证,共享密钥作用于所有商品。进入苹果后台-管理-创建共享密钥,后台地址 https://appstoreconnect.apple.com/apps

2、苹果后台配置通知地址url

苹果所有的通知都会发送到这个url,包括退款,订阅续订,取消订阅等,参数都在请求体里面,数据格式为json格式,使用@RequestBody接收。进入后台-信息-服务器通知地址

我这只解析订阅类型的通知参数,所有参数请见官方文档notification_type:

解析这几个通知类型就够了,然后验证共享密钥password,获取receipt中expires_date_ms和original_transaction_id,这是订阅的原始订单id,不会变,苹果服务器会返回original_transaction_id对象的数组,根据项目逻辑做自己的业务处理。

测试

开发苹果订阅服务容易,就是测试难测,沙盒环境下,苹果把订阅时间进行了相应的缩短,但不能模拟取消订阅,所以要多开账号测试