讨论数量:
一般是通过 verifyReceipt API 直接校验票据,只是该接口已经被宣布弃用了,但是还是能用。官方是建议通过 App Store Server API Get Transaction History 校验内购。
第一个回答已经挺好了,我只是感觉流程可以简化,可以讨论一下:
根据个人工作经验,感觉 -> 前端提交订单 -> 后端生成订单
这个两步没有啥意义。
我现在的处理逻辑是:
- 前端请求产品列表
- 用户点击所需商品,以消耗性产品为例,点击哪个
product_id
,前端就直接调用苹果 SDK - 支付完成后,拿着票据,调用后端接口
- 后端验证,根据票据中的
product_id
进行业务操作,transaction_id
当成唯一流水号即可
这个的好处是:
- 减少了2步,方便了一点点吧。客户端不用去记录服务端生成的订单信息
- 如果3~4步骤断掉了,比如用户杀掉了app等,再次启动app还是可以恢复的。
- 这个也能适配连续订阅模型,从第二个月起的苹果推送数据
刚好我们也在做这一块的业务,就这这个帖子咨询一个问题,针对连续订阅 如果采用 server to server 的推送模式,那么在审核模式下应该怎么处理。审核模式支付走的沙盒(配置的地址是测试环境的地址)但是对用户数据来说确实线上的数据,大家有处理这种情况的方案吗
juejin.cn/post/7298179365040013338