POST TIME:2018-12-03 21:37
支付流程加上3种特殊状态的case,是App涉及到苹果IAP支付流程时需要考虑到的各种情况。
比来关于苹果下架微信的言论在互联网圈子炸开了锅,虽然这是否是一道伪命题,还不得而知,但是也能够发现苹果对于其App Store中分发的App的抽成是多么重视。尽管其支付系统着实难用,并且在体验上也是让人不敢恭维,但是由于其30%的抽成实在是太诱人了,所以也是苹果坚持不允许通过App Store之外的任何支付渠道让用户收费的主要原因。
那么,抛开常用的微信、支付宝支付流程,将技术问题先至于黑盒子中,对于一个不是微信那样财大气粗的产品而言,如果要走苹果IAP支付流程,则应该如何设计,才能最大限度制止审核失败被打会呢?一般而言,除了须要的支付成功流程以外,支付失败的各种case也都要考虑进去,这样就会在必然程度上提升审核通过的概率。
正常的跳转苹果支付流程,只要是需要显示和支付产品相关的信息,终究大部分页面都是苹果系统原生,App能做的也就是修改一些案牍参数等,如下所示:
正常的流程需要输入苹果的icloud密码,确认支付内容,然后进入支付确认和结果反馈环节,需要多次点击和输入操作。
但是,由于苹果的支付流程需要来回跳转和请求数据,路径长,节点多,所以会产生各种不确定的case和“掉单”的情况发生,针对差别的支付失败情况,都要设计相应的应对逻辑。
1、直接购买失败直接购买失败原因主要是金额不足,因此苹果会提示相应的反馈并提供可选择的解决方案;若用户取消操作,则会直接退出苹果支付流程,返回App页面;
2. 苹果支付成功,但是产品端未显示这主要来源与苹果的支付流程,虽然在当前的支付页面上显示了支付成功,,但是由于网络或者App后台未接收到数据等问题,造成了当前在产品端未实时显示支付结果,这时需要实时反馈进入提示,告知用户稍后查看;用户返回App继续执行支付操作时,若此时后台仍未收到数据,则直接当前订单还在处理中,不会生成新的订单,继续出现之前的支付成功的反馈提示;若此时后台已接收到数据,则系统可认为是生成了新的订单,可重新进入新的一轮购买流程;
3. 苹果支付成功,但是传递给产品的ID无效这种情况更加让人无奈,在苹果流程中所有的支付流程都是通常的,但是苹果传递给产品的ID是无效的,这种不成抗力的问题着实让人无奈和头疼。这个时候只能走客服流程联系退款,若用户返回App后继续支付,则会生成新的订单进行新的支付流程;
支付流程加上3种特殊状态的case,是App涉及到苹果IAP支付流程时需要考虑到的各种情况。当然,还有更多特殊情况,需要按照产品的差别进行单独考虑,这样在应对苹果审核时的成功率更高,制止被App store审核欠亨过,重新设计的问题。终究,苹果的审核时间还是太漫长了。