有关支付的相关知识学习ApplePay和支付宝

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的时候调用

原文地址:https://www.cnblogs.com/cranz-jf/p/5259326.html