Apple Pay 初体验
来源:互联网 发布:九宫格拍照软件 编辑:程序博客网 时间:2024/05/17 22:40
今儿的地铁里已经摆满了Apple Pay的广告.So.我也来尝试下Apple Pay的集成.
新建一个项目.暂时起名为JLLApplePayTest.
ApplePay 设计到了对Merchant ID 的使用.经过个人测试,用了两种方法.
第一是直接在Capabilities 里首先将ApplePay 选为ON.此时的Merchant ID是为空.点击+号,会出现选择开发者账号界面.选择自己的开发者账号后.会出现如下界面.
创建完成后点OK就可以在Merchant ID里进行选择.但是我并不推荐这么做.虽然也创建了Merchant ID.但是并未增改其相关属性.可行度待验证.但是如果集成demo的话.是可以成立的.
下面介绍比较正规的Merchant ID申请方法.
在开发者中心里.找到Merchant ID.
点击添加按照顺序进行创建.
创建完成后会生成类似下面的列表
此时.重点来了,点击需要运用的Merchant ID.会出现以下情况
点击Edit 进行编辑
of course. 这里选择 YES .
接下来会出现一个选择CSR文件的界面.从钥匙请求CSR文件之类不再多提.
最后生成一个CSR证书.点击运行.
OK--- 证书告一段落.
接下来进入Xcode.
继续在Capabilities 里Apple Pay里进行操作.选择刚刚创建的Merchant ID.
此时看我们的项目,会多一个这样的文件.
OK.开始代码.
由于只是个小demo.所以我直接在ViewController里进行书写
首先,导入库.
#import <PassKit/PassKit.h>由于要实现协议方法.我们要遵守它的协议
@interface ViewController ()<PKPaymentAuthorizationViewControllerDelegate>
然后开始我们的编码.
- (void)ApplePayJudge{ //检查当前设备 if ([PKPaymentAuthorizationViewController canMakePayments]){ NSLog(@"可以支付"); PKPaymentRequest * request = [[PKPaymentRequest alloc]init]; PKPaymentSummaryItem * goodsOne = [PKPaymentSummaryItem summaryItemWithLabel:@"无尽" amount:[NSDecimalNumber decimalNumberWithString:@"3000"]]; PKPaymentSummaryItem * goodsTwo = [PKPaymentSummaryItem summaryItemWithLabel:@"三项" amount:[NSDecimalNumber decimalNumberWithString:@"3000"]]; PKPaymentSummaryItem * goodsThree = [PKPaymentSummaryItem summaryItemWithLabel:@"电刀" amount:[NSDecimalNumber decimalNumberWithString:@"2800"]]; PKPaymentSummaryItem * goodsFour = [PKPaymentSummaryItem summaryItemWithLabel:@"总计" amount:[NSDecimalNumber decimalNumberWithString:@"8800"]]; request.paymentSummaryItems = @[goodsOne,goodsTwo,goodsThree,goodsFour]; request.countryCode = @"CN"; request.currencyCode = @"CNY"; request.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]; request.merchantIdentifier = @"merchant.com.JLL"; request.merchantCapabilities = PKMerchantCapabilityEMV; PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request]; paymentPane.delegate = self; [self presentViewController:paymentPane animated:TRUE completion:nil]; }else{ NSLog(@"不支持支付"); }}
首先进行判断是否可以进行支付操作.如果可以进行支付操作.即进行操作请求.goodsOne .Two.Three 即单件商品.goodsFour即总价.
request.countryCode = @"CN"; request.currencyCode = @"CNY";
即为中国以及人民币的编码.相信大家会用的比较多.
此时在viewdidload 里实现这个方法.就能看到界面了.
此时.再实现协议的两个方法,来完成支付判断以及界面移除即可.
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controlle didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus status))completion{ NSLog(@"Payment was authorized: %@", payment); BOOL asyncSuccessful = FALSE; if(asyncSuccessful) { completion(PKPaymentAuthorizationStatusSuccess); NSLog(@"支付成功"); } else { completion(PKPaymentAuthorizationStatusFailure); NSLog(@"支付失败"); }}- (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller{ NSLog(@"支付完成"); //支付完成后隐藏窗口 [controller dismissViewControllerAnimated:TRUE completion:nil];}
//新建iOS交流群,欢迎大家进来探讨iOS.群号:207577704
- Apple Pay 初体验
- Apple Pay初体验:几乎完美无瑕
- Apple Pay
- Apple Pay
- Apple Pay
- apple Pay
- Apple pay
- apple pay
- Apple Pay
- apple pay
- Apple pay
- Apple Pay 开发教程:创造更好的支付体验
- Apple Pay 开发教程:创造更好的支付体验
- Apple Watch 初体验
- Apple Watch初体验
- Apple Pay 究竟是什么
- Apple Pay的使用
- 苹果支付 apple Pay
- Android app引导页(背景图片切换加各个页面动画效果)
- (十三)动作概要、瞬时动作
- 面试题:from(http://www.hollischuang.com/archives/332)
- Unity3D教程宝典之Shader篇 基本知识
- 2016年第一次吐嘈小米
- Apple Pay 初体验
- 人脸对齐算法及相关论文(2016最新版)
- 图像验证码识别(三)——基本流程讨论
- UIMenuController的使用
- Python中的实例变量和类变量
- Android应用程序发送广播(sendBroadcast)的过程分析
- android 控制台签名
- Eclipse v7包导入错误
- 第四届蓝桥杯 软件类省赛真题 第三题:马虎的算式