关于apple Pay的一些见解

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];
}

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Apple Pay的简单介绍。 Apple Pay并不是独立的第三方支付服务,相比较支付宝和微信支付,他没有自己的...
    就是很随意哦阅读 4,540评论 0 3
  • 1.About Apple Pay Apple Pay是一种移动支付技术,让使用者把它们对真实的物品和服务的支付信...
    NEWWORLD阅读 10,625评论 14 51
  • 一 前天我在的业主群里有人转发了一个征婚的帖子: 性别:女;本地人;1981年;身高:165;体重:51公斤;学历...
    酥糖说阅读 3,114评论 0 3
  • 跑步~走,1~2~3~4!我们呼喊着振奋人心的口号整齐地跑进了体育场。 五十九连~XXX。 咱们的人生从此...
    半世尘半世雨阅读 1,580评论 0 0
  • 刚刚和妈妈 姐姐从视频转到电话聊到现在,心情好像一座山,洞口处仿佛若有光,嘻嘻 和姐姐聊天像一个结过婚后的自己,是...
    酷酷的大敏阅读 1,283评论 0 2

友情链接更多精彩内容