美文网首页iOS学习笔记iOS学习开发iOS Developer
iOS 解决内购漏单-最靠谱的方案

iOS 解决内购漏单-最靠谱的方案

作者: 钟环 | 来源:发表于2017-10-28 09:31 被阅读907次
内购流程.png

你是否为苹果内购漏单苦恼过?经过网上一些文章描述仍存在一些漏单的问题?

漏单常见原因

  • 1.票据未成功上传给自己服务器,(网络等原因)就已经结束交易;
  • 2.未启动APP时实时监听是否有交易未完成,付款后因用户主动杀死APP时再次启动未监听到状态导致漏单;
  • 3.用户绑定支付宝,银联等其他情况,第一次充值时.苹果检测用户没钱,状态变为交易失败,然后去支付宝等页面绑定,绑定成功后交易重新走交易完成,状态变成交易成功,处理交易失败时你是否删除了预订单并结束交易.导致服务端验证的参数缺少.验证失败.导致漏单.

我司APP的内购处理流程

  • 1.点击充值,发起预订单:用户点击立即充值,发起充值流程,请求自己服务器,生成预订单(为了服务端验证防止刷单,本地绑定预订单处理漏单需要)
  • 2.生成的预订单给客户端保存本地.
  • 3.调起内购,绑定预订单:(存储模型:产品id,预订单,交易状态,充值状态,时间戳+产品id)
  • 4.用户输入完appid后,交易进行中状态回调

    1).如果交易正在进行,需要判断上一笔订单是已经漏单,如果已经漏单,提示用户正在为您完成上一笔订单充值,走check流程,发起自己服务端验证.如果没有漏单,提示正在购买中
    2).如果交易完成.取本地绑定的预订单和交易id和票据去服务端验证.验证通过则finishTransaction交易队列,更新订单状态(交易成功,充值成功),刷新金额.验证失败不结束交易队列(充值失败),均埋点此时订单状态和原因
    3),如果交易取消,失败,拒绝等,结束交易队列(用户自身原因主动取消等),此时并不删除本地预订单,只是更新订单状态.

  • 5.发起自己服务器验证流程.(此时因为网络,或用户杀死APP容易漏单.)

1).启动APP时监听苹果交易状态,如果用户已经购买成功,票据没有上传,自己服务器没有票据验证,客户端不会结束交易队列,此时会重新走服务验证流程,避免漏单;
2).网络状态变更,会走check本地订单状态和交易队列,如果有漏单会重新发起验证,避免漏单;
3).进入充值页面,会走check本地订单状态和交易队列,如果有漏单会重新发起验证,避免漏单,并且在此时删除本地垃圾预订单.
4).给自己服务器发起验证时,对参数进行保护(必须有值,这样防止意外其他不可预料的漏单情况);

    1. 我们服务端与苹果服务端验证票据合法性(防止刷单等情况),服务端会通过预订单号和存储交易ID,比对.
    1. 票据合法后自己服务端回传状态和金额数据
    1. 客户端检测结果成功,结束交易,更新金额,埋点数据. 结果失败,如果是已充过的订单失败则结束交易,如果是其他情况则更新并埋点订单状态.(埋点监听用户充值行为流程,回传交易状态和充值状态)

优化上线后效果

目前没发现有漏单.

相关文章

  • iOS 解决内购漏单-最靠谱的方案

    你是否为苹果内购漏单苦恼过?经过网上一些文章描述仍存在一些漏单的问题? 漏单常见原因 1.票据未成功上传给自己服务...

  • iOS 内购漏单问题解决参考方案

    问题:iOS内购漏单的问题 事由: 不久前,有用户反映,大概意思是这样:苹果扣款成功了,但是没有发放应得的内购产品...

  • iOS内购丢单的解决方案

    iOS内购这块的开发一直比较麻烦,除了各种购买选项的问题,最恶心的问题就是丢单问题。丢单就是iOS内购过程中付了钱...

  • 2019-05-20

    iOS内购编程指南 - 简书 iOS内购 服务端票据验证及漏单引发的思考. - WidgetBox - 博客园 一...

  • iOS内购漏单问题的处理

    一般来说,iOS的内购是相当的让人蛋疼的,既要明目张胆的收你的钱,还给你提供垃圾的服务,就是要恶心你,让你一遍咒骂...

  • Apple Pay(内购代码,真实项目验证2年)

    简介 关于iOS苹果内购介绍相信大家已经了解得非常清楚了,本篇文章主要根据我开发iOS支付过程中遇到的真实漏单原因...

  • iOS 内购经验

    最近在做iOS内购,碰到的一些问题及解决方案,希望能帮到大家 1、如果需要内购实现代码,请留下你的QQ 2、关于内...

  • IOS内购服务端技术方案

    IOS内购服务端技术方案 IOS购买vip流程 IOS内购服务器模式的主要流程如下所示: 服务端验证注意点 苹果A...

  • iOS内购掉单完美解决方案-转载 Keep 的方案

    本文转载自 Keep 的内购解决方案 , 方案很好. 如果涉及版权问题, 请联系我本人删除 根治顽疾:Keep客户...

  • iOS 内购掉单 补单 解决整理

    本小记准备两天写完,起因还是因为自己在做内购时,去网上找了很多资料,但是都没有给出具体的补单方案,都只是泛泛而谈,...

网友评论

    本文标题:iOS 解决内购漏单-最靠谱的方案

    本文链接:https://www.haomeiwen.com/subject/ehmjpxtx.html