Apple Pay集成(二)编码实战

接上一篇《Apple Pay集成(一)准备工作》

1.导入依赖库PassKit


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

#import

2.判断当前设备是否支持Apple Pay

由于Apple Pay仅支持iOS8.0+的且有NFC功能的设备,准备工作中把支持系统版本设定成最低8.0,但是在编码界面也要进行判断是否支持。

使用PKPaymentAuthorizationViewController的类方法canMakePayments进行判断

+ (BOOL)canMakePayments;

返回BOOL类型,如果支持返回YES

3.查看用户的钱包是否添加了银行卡

使用canMakePaymentsUsingNetworks方法进行判断

+ (BOOL)canMakePaymentsUsingNetworks:(NSArray *)supportedNetworks;

supportedNetworks数组中,可包含所有支持的银行卡(注意支持版本)

Apple Pay集成(二)编码实战_第1张图片

3.1未添加银行卡

如果没添加银行卡,为了继续使用Apple Pay则需要提示用户是否添加

Apple Pay集成(二)编码实战_第2张图片

下面这段代码是系统提供的直接跳转到钱包添加银行卡方法,直接使用就好了

PKPassLibrary*passLibr = [[PKPassLibraryalloc]init];

[passLibr openPaymentSetup];

3.2添加了银行卡

3.2.1添加apple Pay调用按钮

系统提供了PKPaymentButton作为标准Apple Pay按钮,但是是从iOS8.3才有,所以iOS8.0-8.3的需要自定义按钮,但是要用苹果提供的切图(Apple Pay介绍中有)

Apple Pay集成(二)编码实战_第3张图片

3.2.2初始化支付信息


Apple Pay集成(二)编码实战_第4张图片

注意:

一些不必要的信息可以不展示;

paymentSummaryItems数组可列表展示多个商品信息,但是lastObject要是汇总才行。也可以计算所有的商品后sum一下,显示汇总信息就好了

3.2.3代理方法处理

遵循PKPaymentAuthorizationViewControllerDelegate代理,实现其方法即可

下面这两个方法是必须要实现的

Apple Pay集成(二)编码实战_第5张图片
Apple Pay集成(二)编码实战_第6张图片

一些基本代码就这些,其实集成Apple Pay还是比较简单的。


2016年6月29日

以上~~

你可能感兴趣的:(Apple Pay集成(二)编码实战)