iOS应用内支付时序图以及常规防护

iOS_IAP_UML.png
序言:苹果终于给出了退单的通知(是复用了订阅回调通知),终于!本文重新补全一下iOS iap处理逻辑。

苹果退单wiki:https://developer.apple.com/documentation/storekit/in-app_purchase/handling_refund_notifications

一、上图主要处理了以下业务:

  • 普通购买
  • 自动续订订阅
  • 补单处理
  • 预防黑产
  • 退单处理

二、除了上述业务逻辑,需要实现:

  • 业务自身的订单逻辑
  • log
  • 预防黑产规则库
1. 业务自身的订单逻辑

即业务自身的订单,当用户点击某个商品时候产生,而不是在唤起苹果应用内支付时候才创建,好处是可以管理自己的订单系统,与web、android统一。其次,便于采集支付过程中的log,便于处理补单、退单、黑产等。

2.log

重要的事情说一万遍,log很重要,尤其是iOS iap 各个步骤的log,一定要详细,便于查看各种奇葩的问题,查漏补缺。

3.预防黑产规则,时序图中【黑产代充校验】处都需要进行以下校验,若不符合以下要求,拦截支付行为。若拦截失败,那肯定还是被突破限制,可以标记黑产,不发道具。
  • 是否越狱,限制越狱设备购买
  • 一台设备只能登录xx个账号
  • 一个账号最多在xx台设备上进行购买
  • 一个账号每天最多进行xx笔小额支付
  • 一个账号每月最多进行xx笔小额支付
  • 当前购买只支持cny,usd等稳定汇率的货币
  • 创建订单设备和发货时的设备需要是同一个
  • 更多规则
关于订阅开发之前有发过一篇:https://www.jianshu.com/p/687c34c11002

你可能感兴趣的:(iOS应用内支付时序图以及常规防护)