苹果内购流程

苹果内购流程

1.客户端通过我们的服务器创建订单,创建成功我们服务器记录订单状态为未支付
2.客户端在app请求苹果内购支付订单
3.用户在客户端支付完成并拿到苹果的支付验证信息,客户端请求我们服务器验证支付,同时我们服务器记录该订单的订单号和苹果后台返回的支付交验信息
4.我们服务器请求苹果后台验证支付
5.客户端请求验证成功,app设置该订单的状态为已完成([[SKPaymentQueue defaultQueue] finishTransaction:transaction]):
    验证成功,服务器记录订单状态为已完成,给用户打款
    验证超时,服务器记录订单状态为等待支付验证,同时app可以在手机订单列表中再次发起支付检验(服务器通过第2步保存的信息去验证)
    验证失败,服务器记录订单状态为支付失败,同时记录失败原因,用户在客户端订单列表可以看到该订单为何支付失败
6.网络原因等导致客户端请求验证失败,app不要置该订单的状态为完成:
    客户端记录该订单的订单号和苹果后台返回的支付交验信息(用keychain记录到数组中),订单列表显示为未检验,同时在app的订单记录里面可以再次向我们服务器发起该订单的支付交验(通过客户端保存的信息)

7.客户端再次发起之前订单的支付验证逻辑 为4-6步
注意:如果客户端没有登录,则必须要去用户登录之后才能再次发起支付交验
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 重点总结: 1.获取内购列表(从App内读取或从自己服务器读取)2.App Store请求可用的内购列表3.向用户...
    汤志强阅读 13,042评论 3 9
  • 苹果内购流程 苹果现在对应用市场的审核规则越来越严格,不仅对马甲包进行大批量下架,而且对应用内的支付也有了严格的规...
    linggaozhen阅读 5,154评论 0 3
  • 第一部分:在Apple后台添加一个内购产品 1、登录appStoreConnect,如下图所示,添加一个商品 IA...
    zhouluyao阅读 13,498评论 1 9
  • 此文章用于记录处理苹果内购客户端 消耗品 相关卡点不包括App Store connect 配置 内购管理单利类,...
    irisg80236阅读 5,282评论 0 0
  • 1.登录开发者中心[开发者中心链接](https://developer.apple.com)2.点击iTunes...
    许漠颜阅读 21,133评论 58 86