您的位置:首页 > 移动开发

Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?

2015-06-02 22:57 411 查看


开发背景




北京时间2014年9月10日凌晨,在苹果发布会上,苹果CEO库克表示,调查数据显示,每年信用卡消费为120亿美元,每天有高达2亿美元的信用卡转账。但信用卡支付过程非常繁琐的。

库克表示所有以前的移动支付方式都失败了,而苹果基于NFC的Apple Pay只需在终端读取器上轻轻一“”,整个支付过程十分简单。同时库克称Apple Pay所有存储的支付信息都是经过加密的。[2] 


技术发展

在全球范围内,NFC在美国和欧洲最早进入商用阶段。2010年谷歌就把NFC协议加入了Android中。谷歌曾期望借助谷歌钱包推广NFC支付,但效果不理想。支持终端过少,以及谷歌业务广泛导致支持者过少,成为阻碍其发展的重要因素。后期,谷歌曾转向实体卡。尼尔森报告显示,美国手机支付人群中,有37%的消费者曾使用NFC进行支付。但目前最流行的移动支付方式仍然是二维码扫描。

2010年起,中国三大电信运营商和中国银联相继针对NFC启动了移动支付业务,双方均希望以自身为核心建立起包含整个产业链。此后,两大阵营进行了近3年的标准之争,最终以电信运营商妥协结束。移动支付业务虽然宣传已久,但始终难见成效。2012年,中国移动与中国银联达成协议,NFC行业标准统一为13.56M频段,标志着NFC在国内大规模普及的最大障碍被扫清。2014年,中国移动计划NFC手机销售目标达到3000万部,而中国电信、联通也纷纷针对NFC手机给出相应的补贴政策。

对任何一家希望通过NFC来拓展移动支付业务的厂商来说,部署更多的线下收卡POS机是决定生态环境是否健全的标志。中国银联正在积极地推动这一建设。中国银联支持这一功能的POS已占市场份额的五分之一,并将继续加速推进对传统POS机的改造。此外,银联还将针对改造带来的费用成本提供相应补贴。[3] 


正式上线

2014年10月20日,苹果公司的“苹果支付(Apple Pay)”服务正式在美国上线。使用者需要先将设备的操作系统升级到最新的iOS8版本。支持该功能的手机只有 iPhone6和 iPhone6Plus。苹果支付功能也仅限于美国境内使用。[4] 

截至2015年3月,美国有超过2500家银行已支持Apple Pay,接受Apple Pay的网店多达70余万处,而且每天都有更多的商户和app在加入这个行列。[5] 

2015年3月7日,苹果支付服务采用近场通信技术,用户可用苹果手机进行免接触支付,免去刷信用卡支付步骤。用户的信用卡、借记卡信息事先存储在手机中,用户将手指放在手机的指纹识别传感器上,将手机靠近读卡器,即完成支付。[6] 

2015年3月7日,苹果移动支付存安全漏洞,有犯罪分子利用苹果移动支付验证系统的漏洞,借用盗取的信用卡信息,用苹果支付服务进行交易诈骗。[6] 


2使用方法编辑





Apple Pay支持线上支付,线上支付只需要“一键完成”,不再需要输入信用卡信息和地址等。

要开始使用 Apple Pay,只要将你 iTunes 帐户里关联的一张卡添加进来就可以了。

如果你还想添加别的卡,只要用 iSight摄像头拍张照片就可以了。

通过 Touch ID,你可以凭指纹来轻松确认支付

苹果在本周一发布了iOS 8.1版本,并正式开放了Apple Pay支付系统。Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持。即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这种支付方式,并成为苹果又一项成功的投资。

Apple Pay还给开发者带来了处理支付的新渠道,用户将期望在应用中使用它,因为它将验证和交易极端简化,仅需手指轻轻一触即可完成,如果应用里面有涉及到交易,开发者很有必要集成Apple Pay。那么如何将Apple Pay功能集成到你的应用里呢?

在App里设置Apple Pay



Xcode 6.1提供了非常方便的界面来设置Apple Pay。第一步先修改target为iOS 8.1,然后在项目Capabilities里将Apple Pay设置为on,这将自动导入需要的库文件,然后添加一个权限文件并设置,最后修改或创建你的App ID。



你可能会注意到上面没有有效的Merchant ID,我们需要创建一个,访问苹果iOS 开发者中心的位于Identifiers > Merchant ID的页面

然后随着流程指引,创建一个Merchant ID并注册它。



现在,我们需要给Merchant ID添加一个证书签名请求(Certificate Signing Request),以便加密支付令牌来保证其安全性。为达到这个目的,导航至你的Merchant ID,并点击Edit按钮来修改它。



现在,你需要创建一个证书。点击下面的Create Certificate按钮,并跟随苹果的流程指引完成创建。



现在Merchant ID设置好了,你可以回到Xcode并刷新Merchant ID区块,如果一切正常,你应当看到刚创建的ID出现在列表上。将它选中,然后可以进入下一部分。



编写代码

我们在Github上提供了一个集成Apple Pay的示例项目:cjbeauchamp/ApplePayDemo ,权限文件和App设置文件已经剥离出去了,可以放心将它添加到你自己的项目里。下面我们将讨论一些开发中的要点。

设置项目

Apple Pay使用了PassKit框架,所以你需要在适当的文件里导入头文件:

你还需要接收Apple Pay处理信息的回调,所以确保将委托添加到接收类上:

创建支付请求

首先你需要确认设备是否支持Apple Pay支付,确认的代码是:

在上面的代码块里,你能使用PKPayment类来创建支付请求。下面是相应的代码,你需要将其中一些信息修改成自己的,比如merchantIdentifier需要与你之前创建的Merchant ID相匹配。

添加物品到支付页

你可以使用PKPaymentSummaryItem来创建物品并显示,这个对象描述了一个物品和它的价格,数组最后的对象必须是总价格。

显示认证视图

最后,显示由PassKit框架提供的view controller,接下来它将自动处理认证。

实现委托方法

被请求的委托方法是被认证成功和认证完成两个事件调用的。是否解除view controller,以及让用户知道认证是否成功都取决于你。方法的签名如下:

支付验证

在Apple Pay验证了支付之后,仍然需要开发者来完成交易,这可以用didAuthorizePayment委托方法来完成,它需要你连接服务器并上传支付令牌和 其他信息,以完成整个支付流程。在服务器呼叫结束后,你需要调用completion方法,摒弃提供success或failure标记的参数。你可以在 示例代码里找到具体实现。

监控并优化交易

Apple Pay是现有的结账流程非常棒的解决方案,在应用里使用它无疑会让用户们高兴。尽管Apple Pay让支付流程极端简化,仍然有许多变动地方,他们的表现将直接与app的营收挂钩。

交易监控

Crittercism公司的新Transaction Management是一种很棒的方法,用来监控各种交易确保它们工作正常。如果一个API端末或服务执行缓慢,或者如果用户决定取消交易,或者你的应用崩溃了,你需要知道这些信息才能更好的优化它们。你可以到Crittercism官方网站了解更多信息。

总结

希望这个入门教程让你更好的理解和使用Apple Pay。别忘了阅读苹果的指南和文档来了解如何与供应商集成,以及用户界面的指导规范。你可以在苹果Apple Pay的官网上找到它们。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  应用 ios 苹果ios