接收解析v1版本苹果通知(订阅,退款)
基本步骤
1.苹果后台创建订阅商品,创建共享密钥password
2.苹果后台配置通知自己服务器地址url
3.解析苹果通知,开发自己的逻辑(主要编程部分)
1.苹果后台创建订阅商品
苹果后台创建商品列表的上方,就会有创建共享密钥的按钮,只有拥有该权限的人才能看到,重点来了,创建了共享密钥,在验证苹果收据的时候所有的商品都要增加参数,把收据和共享密钥都要发到苹果服务器进行验证,共享密钥作用于所有商品。
进入苹果后台-管理-创建共享密钥,后台地址 https://appstoreconnect.apple.com/apps
2.苹果后台配置通知地址url(v1版本)
苹果所有的通知都会发送到这个url,包括退款,订阅续订,取消订阅等,参数都在请求体里面,数据格式为json格式,使用@RequestBody接收。进入后台-信息-服务器通知地址。参考官方文档 https://help.apple.com/app-store-connect/#/dev0067a330b
3.解析苹果通知(重点)
通知样例如下,详细参数请见官方文档 https://developer.apple.com/documentation/appstoreservernotifications/responsebodyv1
{
"environment":"sandbox", //环境
"notification_type":"REFUND", //通知类型
"password":"aaaaaaaa", //共享秘钥
"bid":"afafsdf.com", //包名
"auto_renew_status":"false", //续期状态
"unified_receipt":{ //需要解析的数据
"status":"0", //通知状态,0有效,其他无效
"latest_receipt_info": [
{
"cancellation_date_ms":"15016625461111", //退款时间毫秒级
"cancellation_reason":"1", //退款原因
"original_transaction_id":"1000000321215919", //原始交易id
"product_id":"aadfasdfsdfasdf", //商品id
"expires_date_ms":"15554554454", //续订过期时间
"transaction_id":"10005877888478" //交易id
},
{
...
}
]
}
}
notification_type
INITIAL_BUY : 初次购买(可不解析)
DID_RENEW : 订阅成功自动续订
DID_RECOVER : 自动恢复续订
INTERACTIVE_RENEWAL : 用户手动恢复续订
CANCEL : 取消订阅
REFUND : 退款