appstore iap
2018-05-02 19:12:46 12 举报
1111
作者其他创作
大纲/内容
发货队列里的所有订单执行完毕以后关闭服务器
支付前的检查
是否成功,或者操作最大重试次数
开始支付
放入失败等待队列
执行支付
请求到苹果服务器
每天去抓取档位相关信息
关闭恢复交易模块
收到票据
给用户提示,未完成的交易进行中,请稍后
发货模块
交易中有失败和购买成功的交易
成功
正常
提示玩家代充有风险。
没有
是否成功
异常
放到服务器端解析队列
支付检查
订单放入发货队列
检查receipt
产品id转换档位
关闭应用的时候需要,确保一个发货逻辑完成执行完了,才能关闭进程。发货和解析都是这样
档位表模块
发货
已支付的交易,票据请求到服务器
登录接收数据就行
恢复交易模块开启
失败
票据转换为订单
否,弹出不能支付的提示.
档位转换当前货币
有
请求到cp服务器
解析队列
支付
提供档位转换货币的接口
ios支付流程
生成订单
关闭交易[[SKPaymentQueue defaultQueue] finishTransaction:tran];
每30秒检查一次,是否还有未完成交易
使用票据里的purchase_date做为购买时间
遍历判断状态
用户扣款成功
服务器是否成功接收
已取消的交易,直接关闭
重试3次
票据请求到服务端
到指定时间触发
用户取消,或者其他失败
保存到数据库
是
档位转换对应的人民币
放到失败等待队列
关闭交易
检查有未完成的交易[SKPaymentQueue defaultQueue].transactions检查队列中未关闭的交易
请求cp服务器
ios风控流程
in_app为空的情况 需要用ios3-6票据处理
从队列取出来去苹果服务器解析
结束
服务器触发关闭操作
开启恢复交易模块
restore直接关闭交易
放到发货队列
引导第三方充值(人工或者自动跳转)
3次失败
不发货,并且给用户提示。
是否能支付
票据解析
1分钟以后中新放到解析队列
服务器启动的时候将前2天符合放入发货队列的订单
关闭交易,改变状态为成功发货
0 条评论
下一页