(转)[iOS概念]Apple Pay与IAP的区别

Apple Pay是什么?

在Apple Pay的发布会上,Eddy Cue表示,苹果并没有兴趣建立一个收集用户数据的业务,苹果并不知道你购买了什么,不知道你是从哪里购买的,为了这个商品花了多少钱。所以这也就是苹果和支付宝,微信等最大的不同:Apple Pay并不会将资金存放在Apple Pay中。
Apple Pay其实也就是相当于一个卡包,替你保存银行卡的信息,只不过是将这个卡包虚拟化了而已,而且Apple Pay中存储的银行卡信息等都进行了加密,所以非常的安全(当然所有的安全都不会是绝对安全)
Apple Pay中的 Pay业务并不是Apple自己的业务,Apple Pay本身只是一个第三方的桥梁:连接用户和银行。 Pay业务只是银行和Apple之间所合作的一个业务,它和银行之间是强关联的关系,和Apple之间是弱关联的关系,没有银行也就没有pay了,但是支付宝和微信就不一样,用户将资金放在支付宝和微信中,即便没有银行,也可以直接进行支付。

Apple Pay和IAP的区别

什么是IAP呢?其实IAP就是In App purchase,即应用内购买,也就是我们常说的苹果内购,IAP(应用内购买)是最常用的一种支付方式,属于免费应用+应用内购买的模式。IAP主要是应用(App)和App Store服务器之间进行信息的传递,用户在APP内部进行内购操作相当于用户购买了App Store中的某个商品,这是用户和APP Store之间的交易,然后苹果从交易中抽取30%,APP的所有者获得70%。

Apple Pay则不然,Apple Pay实质上就是等同于用户使用银行卡进行刷卡消费,Apple Pay就是一个卡包的作用,它建立的是用户,银行,商家之间的关系:用户购买商家的商品进行消费的时候,实则是通过Apple Pay向银行发送付款信息,然后银行接受消息,进行付款交易,交易完成,用户获得商品,商家获得money。

理解Apple Pay和应用内支付之间的区别是非常重要的。Apple Pay用于销售物理商品,比如食品杂货、衣服和电器,也能用于支付俱乐部的会员资格、酒店预订以及演出门票。另一方面,应用内支付(IPA)只用于销售虚拟物品,如你的App里的高级内容,以及订阅数字内容。
PassKit框架为Apple Pay提供API,应用内支付(IAP)的API则由StoreKit框架提供。
Store Kit代表App和App Store之间进行通信。程序将会从App Store接收那些你想要提供的产品的信息,并将它们显示出来供用户购买。当用户需要购买某件产品时,程序调用Store Kit来收集购买信息。

IAP流程

什么是IAP?全称即In App Purchase,也就是我们所讲的苹果内购,IAP的流程分为两种,一种是直接使用Apple的服务器进行购买和验证,另一种就是自己架设服务器进行验证。由于国内网络连接Apple服务器验证非常慢,而且也是为了防止黑客伪造购买凭证,通常都是选择自己架设服务器进行验证。

(转)[iOS概念]Apple Pay与IAP的区别使用Apple服务器

(转)[iOS概念]Apple Pay与IAP的区别自己架设服务器

简单说下第二中情况的流程:

  1. 用户进入购买虚拟物品页面,App从后台服务器获取产品列表然后显示给用户
  2. 用户点击购买购买某一个虚拟物品,APP就发送该虚拟物品的productionIdentifier到Apple服务器
  3. Apple服务器根据APP发送过来的productionIdentifier返回相应的物品的信息(描述,价格等)
  4. 用户点击确认键购买该物品,购买请求发送到Apple服务器
  5. Apple服务器完成购买后,返回用户一个完成购买的凭证
  6. APP发送这个凭证到后台服务器验证
  7. 后台服务器把这个凭证发送到Apple验证,Apple返回一个字段给后台服务器表明该凭证是否有效
  8. 后台服务器把验证结果在发送到APP,APP根据验证结果做相应的处理

参考

Apple Pay的支付流程

Apple并不处理和付款相关的逻辑,它只是负责支付信息的传递。Apple通过Touch ID来验证银行卡持有者的身份,实际的扣款行为发生在银联端,接入了Apple Pay的商品(即App)组织好Apple返回的支付信息,向银行发出扣款请求后,该笔交易才会真正发送扣款,所以APP本身是和银联进行结算,Apple Pay只不过是作为一种支付的渠道而已。

(转)[iOS概念]Apple Pay与IAP的区别Apple Pay的支付流程

整个流程中如下:

  1. 客户端通过苹果API,在 APP 应用内展示 Apple Pay 支付控件。
  2. 用户在 Apple Pay 的支付控件上进行生物验证(指纹或者人脸识别)或者手机密码验证。
  3. 苹果在用户验证通过之后,会生成一个用户选中的银行卡相关的 PaymentToken 加密数据, Apple Pay 必须在有网情况下才能进行,苹果需要从开发者网站上使用证书的公钥进行加密 ,完成后通过 API 回调返回给客户端前端。
  4. 客户端获取到 PaymentToken 后,给服务端发送扣款请求,等待支付结果。
  5. 服务端收到客户端上送的 PaymentToken,解密 PaymentToken 取出一些关键字段信息,附带其他订单信息,再与支付供应商(如国内银联)进行通信发起扣款。
  6. 服务端收到扣款结果后,再返支付结果给手机客户端,最终通知用户支付结果。

相关推荐