1.导入依赖库PassKit
Apple Pay使用了PassKit框架,所以需要在适当的文件里导入头文件
#import <PassKit/PassKit.h>
2.判断当前设备是否支持Apple Pay
由于Apple Pay仅支持iOS8.0+的且有NFC功能的设备,准备工作中把支持系统版本设定成最低8.0,但是在编码界面也要进行判断是否支持。
使用PKPaymentAuthorizationViewController的类方法canMakePayments进行判断
+ (BOOL)canMakePayments;
返回BOOL类型,如果支持返回YES
3.查看用户的钱包是否添加了银行卡
使用canMakePaymentsUsingNetworks方法进行判断
+ (BOOL)canMakePaymentsUsingNetworks:(NSArray *)supportedNetworks;
supportedNetworks数组中,可包含所有支持的银行卡(注意支持版本)
3.1未添加银行卡
如果没添加银行卡,为了继续使用Apple Pay则需要提示用户是否添加
下面这段代码是系统提供的直接跳转到钱包添加银行卡方法,直接使用就好了
PKPassLibrary*passLibr = [[PKPassLibraryalloc]init];
[passLibr openPaymentSetup];
3.2添加了银行卡
3.2.1添加apple Pay调用按钮
系统提供了PKPaymentButton作为标准Apple Pay按钮,但是是从iOS8.3才有,所以iOS8.0-8.3的需要自定义按钮,但是要用苹果提供的切图(Apple Pay介绍中有)
3.2.2初始化支付信息
注意:
一些不必要的信息可以不展示;
paymentSummaryItems数组可列表展示多个商品信息,但是lastObject要是汇总才行。也可以计算所有的商品后sum一下,显示汇总信息就好了
3.2.3代理方法处理
遵循PKPaymentAuthorizationViewControllerDelegate代理,实现其方法即可
下面这两个方法是必须要实现的
一些基本代码就这些,其实集成Apple Pay还是比较简单的。
2016年6月29日
以上~~