第一部分 准备阶段
1)硬件要求:
iPhone6及更新的设备,还有iPad air2和iPad mini3之后的平板,以及apple watch。具体型号(截止2016年2月):iPhone 6,iPhone 6 Plus,iPhone 6s, iPhone 6s Plus;iPad Air 2,iPad mini 3,iPad mini 4,iPad Pro;还有Apple Watch。
2)系统要求:
iPhone或iPad至少要升到iOS 9.2版,手表至少watch OS 2.1。
3)配置支付环境
1.进入苹果开发者中心,注册App ID。
App ID必须是explicit类型,否则无法使用ApplePay服务。
![](https://img.haomeiwen.com/i1490350/86f9274ca5e90e5e.png)
2.勾选Apple Pay并点击continue。
![](https://img.haomeiwen.com/i1490350/2cf5685dade2fdca.png)
3.点击submit提交。
![](https://img.haomeiwen.com/i1490350/25423dd6cd34cd96.png)
4.在App IDs中找到刚刚注册成功的App ID,点击edit,对Apple Pay进行配置。
![](https://img.haomeiwen.com/i1490350/f24e716cfd765209.png)
5.创建MerchantID
![](https://img.haomeiwen.com/i1490350/cc31de7eefdb956c.png)
6.配置Apple Pay服务,勾选Merchant ID。
![](https://img.haomeiwen.com/i1490350/0a4f247c2427568d.png)
7.App ID的apple pay选项变成enable表示配置成功。
![](https://img.haomeiwen.com/i1490350/f0f9534f977cf99b.png)
8.创建Xcode项目,填入刚注册的BundleID。
![](https://img.haomeiwen.com/i1490350/f4e619e8548bea96.png)
9.在项目的target->Capabilities中,打开Apple Pay,并勾选Merchant ID。
![](https://img.haomeiwen.com/i1490350/c38ff0b625b6adee.png)
第二部分 代码实现
github地址:https://github.com/ZakariyyaSv/ApplePayDemo
一、判断支付环境
1.导入Passkit框架,加载view。
![](https://img.haomeiwen.com/i1490350/08237a5516e01470.png)
2.判断当前设备是否支持Apple Pay以及wallet中是否有符合所支持网络的银行卡。
![](https://img.haomeiwen.com/i1490350/a4db78a2d04fc3a7.png)
![](https://img.haomeiwen.com/i1490350/a0d9cf533fc68477.png)
![](https://img.haomeiwen.com/i1490350/f8815929ee912464.png)
3.若wallet中没有绑定所支持网络的银行卡,则点击按钮跳转到wallet中去绑定银行卡:
![](https://img.haomeiwen.com/i1490350/8b508664dadc55e6.png)
![](https://img.haomeiwen.com/i1490350/9d5e53c8bda5c1d8.png)
4.若该设备支持Apple Pay并且有绑定所支持网络的银行卡则发起支付请求。
![](https://img.haomeiwen.com/i1490350/58c583006219515a.png)
支付请求配置包括国家代码、货币代码、商家ID、商家的处理方式、商家支持的网络、订单的详情,这几个要素缺一不可。
merchantCapabilities是一个枚举值:
![](https://img.haomeiwen.com/i1490350/20e91fbe4238c552.png)
其中PKMerchantCapability3DS是必选项,其他的则是可选项。
![](https://img.haomeiwen.com/i1490350/137a04683f24fe64.png)
一般我们用到的会是中国银联,注意:iOS9.2以后才开始支持银联支付。
![](https://img.haomeiwen.com/i1490350/cf37ea229f1fd37e.png)
5.监听用户授权状态
![](https://img.haomeiwen.com/i1490350/330e13dd465fd2d1.png)
附:
![](https://img.haomeiwen.com/i1490350/e05568b1d25601f9.png)
![](https://img.haomeiwen.com/i1490350/16303800a9cb034e.png)
网友评论