现在服务器可以接受苹果退款通知了!!!!

1.从苹果开发者后台配置调用地址url,必须是https的,符合 App Transport Security (ATS)要求,如TLS1.2协议 详情见文档 苹果官方文档
2.解析参数,苹果的请求方式为post,发送json数据
官网截图
所以我们解析这个responseBody就可以了,详细见官方文档
3.响应,苹果不关心返回参数,只关心返回响应码 200 4xx 5xx,如果200代表成功,4xx 5xx苹果会重试
官网截图

重点来了!!!实战解析例子

苹果发送的数据是一个大json,我挑重要的说
下面展示一些 请求json

{
    "environment":"sandbox",  
    "notification_type":"REFUND",
    "password":"aaaaaaaa",
    "bid":"afafsdf.com",
    "unified_receipt":{
        "status":"0",
        "latest_receipt_info": [
            {
                "cancellation_date_ms":"15016625461111",
                "original_transaction_id":"1000000321215919",
                "product_id":"aadfasdfsdfasdf"
            },
            {
                "cancellation_date_ms":"15016625461110",
                "original_transaction_id":"1000000321213686",
                "product_id":"afdsafsdafasdf"
            }
        ]
    }
}

environment: 环境 Sandbox 或 Production
notification_type: 通知类型 REFUND为退款通知
password: 配置的密钥
bid: 应用id
unified_receipt: 咱们要的数据都在这里面
status:0为正常
latest_receipt_info:是一个最大100的数组,里面包含每个通知具体数据
cancellation_date_ms:退款时间毫秒级
original_transaction_id:事物交易订单id
product_id:退款的商品id
更多参数见官方文档

解析这些参数我认为就足够了,这个看自己业务需求,最重要的是通过交易订单id找到相应的自己平台的订单id,记录下来然后再进行业务处理,有需要的可以找到对应用户进行处理。

如果是Java的话定义一个类包括这些属性,在Controller层用 @RequestBody 注解来接收数据就可以了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐