标签:
1、支付宝
2、ApplePay
原文出处:http://idlelife.org/archives/755
Apple Pay是一个基于NFC的支付系统
1)要集成ApplePay首先要设置target为iOS 8.1及以上。
2)设置TARGETS->Capabilities将Apple Pay设置为on,这将自动导入需要的库文件(此处要注意,个人是没用这个选项的)
3) https://developer.apple.com/account/ios/identifier/merchant到这里去Identifiers > Merchant ID注册商户ID
4)给Merchant ID添加一个证书签名请求(Certificate Signing Request),方法是打开钥匙串->钥匙串访问->证书助理->从证书颁发机构请求中证书。和生成一般证书一样生成证书签名请求(Certificate Signing Request)。
5)Merchant ID要的证书签名请求就是我们刚刚生成的那个。
6)设置好后,回到工程刷新一下就会出现你刚刚注册号的Merchat ID
OK,到这一步就可以写我们的代码了
7)导入头文件 #import <PassKit/PassKit.h>
8)需要接收Apple Pay处理信息的回调,因此遵守协议<PKPaymentAuthorizationViewControllerDelegate>
9)创建支付请求:先判断设备支不支持ApplePay功能 if([PKPaymentAuthorizationViewController canMakePayments]) { }
if ([PKPaymentAuthorizationViewController canMakePayments]) {
PKPaymentRequest *request = [[PKPaymentRequest alloc] init];
request.merchantIdentifier = @"merchat.com.panda.ApplePay----";
request.countryCode = @"CN";
// 需要注意RMB的币种代码是CNY
request.currencyCode = @"CNY";
//检查用户是否可进行某种卡的支付,是否支持Amex、MasterCard、Visa与银联四种卡,根据自己项目的需要进行检测
request.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];
request.merchantCapabilities = PKMerchantCapability3DS|PKMerchantCapabilityEMV; //设置支持的交易处理协议,3DS必须支持,EMV为可选,目前国内的话还是使用两者吧
}
10)PKPaymentSummaryItem来创建物品并显示,这个对象描述了一个物品和它的价格,数组最后的对象必须是总价格
11)显示由PassKit框架提供的view controller,接下来它将自动处理认证
PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentPane.delegate = self;
[self presentViewController:paymentPane animated:TRUE completion:nil];
12、最后是两个必须实现的委托方法
- (void)paymentAuthorizationViewController:didAuthorizePayment:completion: //这个方法在点击支付的时候调用
- (void)paymentAuthorizationViewControllerDidFinish: //这个方法在点击Cancle的时候调用
标签:
原文地址:http://www.cnblogs.com/cranz-jf/p/5259326.html