iOS 开发 iOS Development苹果内购

iOS IAP内购 VS 支付宝

2018-02-02  本文已影响615人  亲爱的八路

国内支付发达,由支付宝引导的支付流程观念常常会先入为主,导致接入内购时整体观念错位。希望借着对比支付宝和内购流程来让大家更清晰的了解内购流程。

支付宝支付流程:

  1. 用户选择支付
  2. app调用后台接口生成支付信息(生成支付宝订单,并且绑定我们自己的订单号)
  3. app使用支付信息调起支付包sdk
  4. 支付宝sdk请求支付宝服务器
  5. 支付宝服务器返回支付结果给后台和app
  6. app接受到支付宝支付结果,显示相应页面

内购流程

  1. 用户选择支付
  2. app端使用苹果product类请求支付 (生成苹果订单transaction)
  3. store kit向苹果服务器请求
  4. 苹果服务器返回请求结果给app
  5. app保存收据,向后台请求验证收据
  6. 后台返回验证结果

差异点:

差异点带来的处理区别

关于applicationUsername和订单号

有人会选择用applicationUsername存放订单号。 这样做的问题是支付成功后transaction中的applicationUsername可能为空
以个人实际经验看,大概每20单就会出现一次applicationUsername没有返回的现象。苹果论坛中关于applicationUsername为空的讨论

关于支付失败

当用户被引导出应用更新他们的支付信息时会出现支付失败/取消,支付信息更新、扣款完成后,app会再次收到成功的回调。苹果论坛关于支付先失败后成功的讨论

关于漏单

理解错误导致漏单列举:

概念理解无误,出现问题可以从流程中的每一步来排查与解决,最怕概念理解错,这样就不是理性分析可以解决的事了。

作者水平有限,发现错误还请不吝赐教

上一篇 下一篇

猜你喜欢

热点阅读