Apple Pay开发指南及人机界面指南

移动开发 iOS
Apple Pay为用户从你的App里购买实际的物品和服务提供简单而安全的方法。通过Touch ID,用户可使用储存在iPhone 6和iPhone 6 Plus上的信用卡和借记卡支付证书来授权支付。这些储存证书的模型包含一个Secure Element,并将支付证书从app运行的主进程中分离出来。

工作中的翻译两篇,具体了解了一下了Apple Pay是 什么。第一篇比较惭愧,经过前辈润色,果然翻译也是需要经验的行当。(第一篇 第二篇)

开始使用Apple Pay

目前版本为1.0

概览:

Apple Pay为用户从你的App里购买实际的物品和服务提供简单而安全的方法。通过Touch ID,用户可使用储存在iPhone 6和iPhone 6 Plus上的信用卡和借记卡支付证书来授权支付。这些储存证书的模型包含一个Secure Element,并将支付证书从app运行的主进程中分离出来。

Apple Pay还是 应用内支付(IAP)?

理解Apple Pay和应用内支付之间的区别是非常重要的。Apple Pay用于销售物理商品,比如食品杂货、衣服和电器,也能用于支付俱乐部的会员资格、酒店预订以及演出门票。另一方面,应用内支付只用于销售虚拟物品,如你的App里的高级内容,以及订阅数字内容。

PassKit框架为Apple Pay提供API,应用内支付的API则由StoreKit框架提供。

预备条件

为了使Apple Pay生效,除了PassKit框架之外,还需要:

1. 建立一个拥有支付模块或通道的账户(如果你没有的话)

2.从Certificates, Identifiers & Profiles注册一个商业标示符

3.提交一个证书签名需求以获得用于加密和解码支付令牌的公开或私有密钥

4. 在你的App里包含Apple Pay的支持权限

App审核指南

你的应用必须遵从App审核指南 (中文版)第29条所规定的条件。

支付提供商

你能从苹果开发者官网的Apple Pay页面找到支付提供商,它们都支持Apple Pay并且提供SDK。强烈推荐使用这些SDK,如需更多信息可联系支付提供商。

你也可以选择使用你自己的服务端方案来接收从App传来的支付请求,解码支付令牌并且与支付提供方交互。操作支付卡和借记卡的支付是很复杂的,除非你已经有了支付相关的专门支付和处理系统,否则使用支付提供商的SDK是最快捷并且可信赖的方式。

显示Apple Pay按钮

PassKit提供相应API,app可用它检测运行环境是否安全,以及设备是否已经被分配了你所支持的信用卡。

在应用程序中放置Apple Pay按钮的方式必须和Apple Pay Human Interface Guidelines一致。

显示支付页面

当你的用户选择好要买的物品或服务,并且点击了Apple Pay按钮,你就创建了一个支付请求,并要求PassKit将支付页面展示给用户。如下图 :

Apple Pay

你的App指定支付页面的内容,但不能使用该页面控制用户的交互。你必须确定是否要给用户展示发货和账单信息、运输方式以及其他列表项目。

支付令牌

当用户通过Touch ID认证之后,你的App将从PassKit接收一个支付令牌,这个支付令牌包含了完成支付交易所需的信息。它包括一个对应本次交易的唯一密码,它应该能被你所拥有的私钥解码,或者当支付信息传输到拥有你的私钥的支付处理器服务器时。

Figure 2图示了一个典型的支付流。首先,App检查它是否能提供Apple Pay作为支付方式。在这个例子里,App需要获取配送地址的邮政编码来计算配送的运费并加到总账单里面,当用户通过了支付认证,你的App从 PassKit的Secure Element里接收一个支付令牌。

最后,应用程序调用Payment Processor SDK里对应的API来将递信息到支付模块,然后处理交易。

Apple Pay流程

支持的交易类型

支持Apple Pay的Payment Processor SDK需要能处理以下电子商务交易:

Apple Pay 交易类型

FAQ

哪些支付提供商支持Apple Pay?

支持Apple Pay的支付提供商列表见https://developer.apple.com/apple-pay/

Apple Pay支持哪些支付网络?

Visa、MasterCard以及American Express

Apple Pay支持哪些类型的支付卡?

支持大型发卡银行的信用卡和借记卡。

使用Apple Pay需要收取费用吗?

苹果不从Apple Pay里收取用户、商家以及开发者的费用,你的借记卡和信用卡交易取决于你使用的支付网络。

Apple Pay人机界面指南

目前版本1.0

概览

Apple Pay是iPhone 6上的一个简单安全、注重隐私保护的支付方式。当在应用中消费物理商品和服务时,用户能通过Apple Pay安全的提供他们的账单、配送和联系信息,当然还有最重要的,支付信息。

Apple Pay的校验流程

使用Apple Pay,用户能够快速结账,而不用创建账号或输入账单和配送信息。当用户通过Touch ID或passcode验证并提交支付时,Apple Pay会提供交易所需要的其他信息,如姓名、电话、电子邮箱,和账单、配送信息、支付细节等。

无购物车(shoping cart)的情况

如果你的应用没有购物车,你能使用Apple Pay来接受单个物品的消费。当需要单个物品交易时,在购买流程的第一步调用Apple Pay,Apple Pay将提供所需要的账单和配送信息,以及支付信息。

单一配送地址的情况

如果你的应用拥有购物车,并且购物车中所有的商品使用相同的方式配送到同一个地址,在结账流程的最开始调用Apple Pay,它将提供交易所需要的信息。

多个配送地址和方式的情况

如果你的应用拥有购物车,并且支持使用不同的地址和方式来配送商品,或者提供店内自提的选项,你应该在选定配送地址和结账方式之后调用Apple Pay。尽管在这种情况下无法通过Apple Pay来选定多个地址和配送方式,但仍然可以获得账单地址和支付信息。

请确认在启动Apple Pay进程之前,你应该收集折扣信息的兑换码。

Apple Pay按钮

当Apple Pay能够在用户的设备上使用,突出显示“Buy with Apple Pay”按钮,以让用户能使用他们在Apple Pay中激活的信用卡和借记卡来支付。如需获取Apple Pay按钮和用户购买流程中支付标记的资源和教程,前往https://developer.apple.com/apple-pay/

如果用户的设备不支持Apple Pay,不要显示Apple Pay支付按钮。

个性化Apple Pay页面

在用户提交订单和相关联的的支付之前,Apple Pay页面显示你请求的支付信息,如信用卡和借记卡信息、账单地址、配送信息,以及一个联系人邮箱地址(见Figure 1)。请确认只请求进行支付和完成交易所需要的信息。

Apple Pay页面

例如,当商品能够以电子的方式交付或履行,那么请求一个联系人邮箱是符合情理的,请求一个配送地址则不是。

Apple Pay支持显示多种配送方式,这样用户能够在Apple Pay页面中调整运送的速度。为了选定一个配送方式,使用一个标签、一个价格,以及一个可选的第二行来提供预估的送货时间。

你能在总购买价里添加行项目(line items)来解释附加费用。一个行项目由标签和关联的价格组成,如“Gift Wrap $5.00”或“Tax $4.53”。你也可以添加一个由负价格组成的项目,如“Friday Discount -$2.00”。行项目应该被用来展示附加到购买商品的收费,而不要用他们来展示逐条列出的商品。

创建的行项目的标签应该是特定的并且易于被消费者所理解。并且尽可能的将标签展示在同一行内。

你还能够在和总价格处于同一行的单词“PAY”后面添加一个公司名称。

注意Apple Pay页面总是以大写字母的格式来显示文本。

交易流程之后

在交易之后,Apple Pay显示一个动画表示交易已经完成。

在Apple Pay页面消失之后显示你的订单确认或致谢页面。为了提供清晰的用户体验,你的订单确认页面应该显示一些细节,包括期望的配送时间和如何查看订单状态。 如果合适的话,你也能够建议用户创建账户,或者让已存在的消费者能让他们登入账号,这样他们能方便的跟踪订单的状态。

学习更多用户界面和用户体验的最佳实践,前往iOS人机界面指南

via:http://idlelife.org/archives/524

责任编辑:闫佳明 来源: idlelife.org
相关推荐

2015-11-04 09:54:34

ios9人机界面ui

2016-03-14 10:33:15

应用苹果界面

2011-03-02 08:35:19

人机交互界面iOS

2011-08-01 14:20:43

iPhone 界面 屏幕

2020-10-04 13:11:38

物联网工业4.0技术

2011-08-01 14:26:41

iPhone 应用程序 事件

2011-08-01 14:42:47

iPhone 应用程序 声音

2011-08-01 14:34:06

iPhone 声音 音频

2020-08-04 10:40:18

边缘AI人机界面HMI

2011-07-25 16:21:22

Sencha touc

2022-08-02 08:01:09

开发插件Chrome前端技术

2021-10-28 11:16:26

AI 数据人工智能

2017-04-07 14:42:27

人机界面语音触觉

2011-06-09 18:24:36

QT Wince

2012-03-26 09:27:40

谷歌安卓开发谷歌安卓

2009-06-24 16:30:21

JSF组件模型

2020-08-05 11:35:11

UI设计师iOS苹果

2015-11-12 16:14:52

Python开发实践

2015-12-16 10:30:18

前端开发指南

2019-10-31 08:00:00

机器学习人工智能AI
点赞
收藏

51CTO技术栈公众号