美文网首页iOS程序猿
关于apple Pay的一些见解

关于apple Pay的一些见解

作者: 哈酒拎壶冲 | 来源:发表于2016-03-07 21:42 被阅读28次

Apple Pay 是苹果公式在2014年苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,与2016年2月18日凌晨5:00 业务再中国上线 可以使人们的生活更加便利

首先嘛 新出的支付功能 坑定要创建证书 进入苹果开发中心 进入创建证页面 具体步骤看截图吧 每部截图

identifier的Merchant IDs 创建ID

屏幕快照 2016-03-05 下午9.01.33.png 屏幕快照 2016-03-05 下午9.07.41.png

点击刚创建的证书 点击edit编辑 改成YES

屏幕快照 2016-03-05 下午9.11.19.png

点击下一步

屏幕快照 2016-03-05 下午9.23.44.png

点击打开钥匙串 创建证书文件

屏幕快照 2016-03-05 下午9.24.25.png 屏幕快照 2016-03-05 下午9.25.01.png

点击继续后 chosse file上传上去

屏幕快照 2016-03-05 下午9.25.37.png

点击continue 之后就是创建工程(配置证书说明文件)

屏幕快照 2016-03-07 下午9.11.31.png

下面配置工程文件

首先bundleidentifierb必须和描述文件一样

屏幕快照 2016-03-07 下午9.15.08.png

在Capabities标签下Apple Pay 添加创建的证书 如下图

屏幕快照 2016-03-07 下午9.20.57.png

代码处理

导入框架PassKit/PassKit.h 和 AddressBook/AddressBook.h 并遵守PKPaymentAuthorizationViewControllerDelegate协议

#import "ViewController.h"
#import <PassKit/PassKit.h>
#import <AddressBook/AddressBook.h>
@interface ViewController ()<PKPaymentAuthorizationViewControllerDelegate>
@end```
#支付见面就是采用PKPaymentAuthorizationViewController 每条支付信息可以采用PKPaymentSummaryItem来编辑 支付时候调用这个界面

  • (IBAction)PayAction:(UIButton *)sender {
    if ([PKPaymentAuthorizationViewController canMakePayments]) {
    NSLog(@"支持支付");
    //我们后面创建出来的支付页面就是根据这个request
    PKPaymentRequest *request = [[PKPaymentRequest alloc]init];
    //商品目录
    PKPaymentSummaryItem *widget1 = [PKPaymentSummaryItem summaryItemWithLabel:@"自助餐" amount:[NSDecimalNumber decimalNumberWithString:@"0.01"]];
    PKPaymentSummaryItem *widget2 = [PKPaymentSummaryItem summaryItemWithLabel:@"川菜馆" amount:[NSDecimalNumber decimalNumberWithString:@"0.01"]];
    PKPaymentSummaryItem *widget3 = [PKPaymentSummaryItem summaryItemWithLabel:@"德克士" amount:[NSDecimalNumber decimalNumberWithString:@"0.0.2"]];
    PKPaymentSummaryItem *widget4 = [PKPaymentSummaryItem summaryItemWithLabel:@"coderqi" amount:[NSDecimalNumber decimalNumberWithString:@"0.03"] type:PKPaymentSummaryItemTypeFinal];
    request.paymentSummaryItems = @[widget1, widget2, widget3, widget4];
    //国家
    // request.countryCode = @"CN";
    // request.currencyCode = @"CNY";//人民币
    request.countryCode = @"US";
    request.currencyCode = @"USD";//美元
    request.supportedNetworks = @[PKPaymentNetworkChinaUnionPay, PKPaymentNetworkDiscover];
    //这里我们填的就是我们创建的merchat IDs
    request.merchantIdentifier = @"merchant.com.coderqi.applepay.pay";
    request.merchantCapabilities = PKMerchantCapabilityEMV;
    //增加邮箱及地址信息
    request.requiredBillingAddressFields = PKAddressFieldEmail |PKAddressFieldPostalAddress;
    //根据request去创建支付页面
    PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc]initWithPaymentRequest:request];
    //设置代理
    paymentPane.delegate = self;
    if (!paymentPane) {
    NSLog(@"出问题了");
    }else{
    //模态推出页面
    [self presentViewController:paymentPane animated:YES completion:nil];
    }
    }else{
    NSLog(@"该设备不支持支付");
    }
    }
#接下来就是代理回调的处理 服务器接收到了我们的请求之后收到返回信息会调用对应的方法

-(void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus))completion{
//这是新版
//拿到token
PKPaymentToken *token = payment.token;
//拿到订单地址
NSString *city = payment.billingContact.postalAddress.city;
NSLog(@"city:%@",city);
//在这里将token和地址发送到自己的服务器,有自己的服务器与银行和商家进行接口调用和支付将结果返回到这里
//我们根据结果生成对应的状态对象,根据状态对象显示不同的支付结构
//状态对象
PKPaymentAuthorizationStatus status = PKPaymentAuthorizationStatusFailure;
completion(status);
}

pragma mark ---支付完成

-(void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller{
//支付完成后让支付页面消失
[controller dismissViewControllerAnimated:YES completion:nil];
}

#到这里就简单的实现了支付功能 

相关文章

  • 关于apple Pay的一些见解

    Apple Pay 是苹果公式在2014年苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,与2016年2月...

  • Apple Pay的使用

    转载自:Apple Pay的使用 Apple Pay的使用 关于Apple Pay 具体继承步骤也可参考: 网址配...

  • 关于 Apple Pay 原生支付的研究

    关于 Apple Pay 原生支付的研究

  • 关于 Apple Pay

    关于 Apple Pay apple pay 是一种移动支付技术,它可以让用户将自己在现实生活中购物、享受服务的支...

  • Apple Pay On The Web

    Apple Pay On The Web apple pay 简介 apple pay是一种移动支付技术,提供给用...

  • Apple Pay的代码实现(三)

    想了解Apple Pay如何实现,需要查看我的前两篇文章: Apple Pay 支付介绍 Apple Pay ...

  • 如何嵌入apple pay

    关于 Apple Pay apple pay 是一种移动支付技术,它可以让用户将自己在现实生活中购物、享受服务的支...

  • Apple pay 和支付宝微信不是一回事

    今天早上5点,Apple Pay正式入华。看到媒体都写了大量 关于Apple Pay和微信支付宝的比较文章,我个人...

  • 今天没有早起

    因为我早上关了闹钟。 今天和同事滔滔不绝的侃起了apple pay了。其实,关于apple pay我并没有特意去了...

  • 轻轻松松集成Apple pay

    最近看了一些集成Apple pay 的文章,感觉描述的太复杂。下面就用最简约的步聚集成Apple pay 功能。如...

网友评论

    本文标题:关于apple Pay的一些见解

    本文链接:https://www.haomeiwen.com/subject/mwzokttx.html