Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2584718
  • 博文数量: 877
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5920
  • 用 户 组: 普通用户
  • 注册时间: 2013-12-05 12:25
个人简介

技术的乐趣在于分享,欢迎多多交流,多多沟通。

文章分类

全部博文(877)

文章存档

2021年(2)

2016年(20)

2015年(471)

2014年(358)

2013年(26)

分类: iOS平台

2015-09-28 19:59:22

不得不看,苹果Pay技术大起底!

/>

【编者按】日前,苹果公司在发布会上推出了Apple Pay(苹果支付),苹果CEO库克指出,根据调查数据分析,每年信用卡消费为120亿美元,每天有高达2亿美元的信用卡转账,但信用卡支付过程是非常繁琐的,如:安全认证、数据交割、同步等。基于NFC的Apple Pay只需在终端读取器上轻轻一“靠”,即可轻松完成支付过程。同时库克称Apple Pay所有存储的支付信息都是经过加密的。

这是首个OS级别的平台支付服务,更为独特是它能兼容当前主流的支付方式。本文将从开发者的角度,来解读Apple Pay的工作原理以及给开发者带来的变化。

网络级的令牌化(Network-Level Tokenization)

首要事情是要了解令牌化的概念。目前支付网络(Visa,万事达,Amex等)已建立起十分繁忙的令牌化连接。传统令牌工作于网关端或交易平台端,网络级令牌可以说是一个新的尝试。

电子商务的开发者应该对信用卡密钥概念非常熟悉,工作模式是根据用户编码信息返回一个令牌用于身份认证。这些密钥信息通常来源于电商支付网关,同时也用于进行信用卡用户信息归档。我们把这种方式称为网关端的令牌化。这种令牌的特征是只作用于单一商户,好处是当就一个信用卡记录进行归档时无须进行大负荷的用户信息安全检阅。

以下是网关端令牌工作流程图:


相对于网关端,网络级的令牌则完全不同。网络级令牌相当于用户编码别名,在进行网络认证的时候进行互换,在iPhone6中是作为安全元素进行供应的。

以下是其认证工作流程图:

有几点重要说明:


  • 令牌与标准用户编码相仿,例如都是16位数字,能够与现行支付处理架构相兼容;
  • 它们产生自网络路由表中一个特殊的容器,将其标识为令牌,而不是标准用户编码;
  • 由令牌服务供应商透过网络进行交换,这是生态系统中一个全新的角色;
  • 它们的供给方可以是移动设备的安全令牌,或者其它足够安全的储藏设备(可能是Android HCE),发证银行推动的。


作为开发者,建议看看EMV支付令牌技术框架说明一文,链接请点击这里

以下展示了一个令牌供应的方法:;

网络端令牌化使得一个令牌能够在不同商户间进行使用,可以用于在线支付(App端),也可用于离线支付(NFC、个人之间)。

用户登入

在之前,我们必须强制用户以邮件地址和密码的方式来建立账户,主要是为了网关端的令牌认证。而现在则不必如此麻烦了:消费者只需下载一款与当地商户相关联的应用,直接在商品页面进行购买就可以了。这对中小型商户来说是一个利好。

临时零售环节整合

假设有一个订单优先的应用,让客户先购买心仪的食物然后再提取;如果不想卷入支付环节,那么该如何收取客户的金钱并带回餐厅呢?因此,很多时候不得不参与进存在摩擦可能的零售记录环节,如:退款或延时产生的矛盾。

网络级令牌化,特别是在iPhone中,将根本地解决类似问题。商业apps只需使用iOS支付SDK进行商业逻辑处理,而把其它零售环节交回提供SDK的零售商自行处理。

Clover在这点做得更为彻底—所有Clover商户都将开通App端支付,这样一来透过Clover APIs,开发者可马上取得几千名商户的访问授权(如:进行订单发送和浏览,菜单更新与阅览等)。

iOS 支付SDKs

开发一款Apple Pay的App端支付应用是非常便捷的,用到的APIs有两个:


  1. iOS App端支付API,用于与用户打交道和取得一个支付令牌。
  2. 零售商提供的API,根据产生的令牌进行交易处理。


3D(三维图像)安全技术

iPhone提供的3D图像安全处理可让发证银行就令牌进行安全认证。开发者可透过Payeezy SDK进行相关3D安全处理。

进行3D安全处理前的一个交易消息在网关端是这样的:


  1. {  
  2.     "merchant_ref""Astonishing-Sale",  
  3.     "transaction_type""purchase",  
  4.     "method""credit_card",  
  5.     "amount""1299",  
  6.     "currency_code""USD",  
  7.     "credit_card": {  
  8.         "type""visa",  
  9.         "cardholder_name""John Smith",  
  10.         "card_number""4788250000028291",  
  11.         "exp_date""1014",  
  12.         "cvv""123"  
  13.     }  
  14. }  




进行3D安全处理后是这样的:


  1. {  
  2.   "merchant_ref":"merchant-specific-info (This is optional)",  
  3.   "transaction_type""purchase",  
  4.   "method""3DS",  
  5.   "3DS":  {  
  6.     "type""A",  
  7.     "version""EC_v1",  
  8.     "merchantIdentifier""mock-1",  
  9.     "applicationData""VGhpcyBpcyBzb21lIHRlc3QgZGF0YS4gIDAxMjM0NTY3ODk=",  
  10.     "data""v6cqGDrjcJUCLdpRkSQIt...",  
  11.     "signature""AKCAMIIBoTCCAUgCAQEwCQYHTBFMQswCQYDVQQGEwJVUzE...",  
  12.  "header":  {  
  13.       "applicationDataHash""4b5745dd55d72886c06a2c65bb05...",  
  14.       "ephemeralPublicKey""MFkwEwYHKoZIzj0CAQYIKoZIzj0D...",  
  15.       "publicKeyHash""YmSWN7lj4+A6fVJVPicP8TgS7gI7oug...",  
  16.       "transactionId""34303833303938"  
  17.     }  
  18.   }  




Apple Pay NFC支付

NFC技术自推出后在美国一直备受争议,现在终于迎来了打翻身仗的时刻。Apply Pays使用的是业界标准EMV近场通信NFC协议,能兼容市面上大多数的非接触式支付终端。

写在最后

O2O闭环一直是商家期待的理想模式,讲求用户体验的苹果终于也要切入到这个大蛋糕中来了。“嘀嘀”一下完成支付,免除繁琐的登录认证环节,对开发者和中小商户以及消费者来说都是非常友好的用户体验。

英文出自:clover-developers

阅读(615) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~