ios中的支付

ios中的支付ApplePay 是一种支付方式

大家好,欢迎来到IT知识分享网。

苹果内购,苹果支付,第三方支付

一、Apple Pay(苹果支付)

1.什么是Apple Pay

Apple Pay是一种支付方式

2.Apple Pay和微信支付、支付宝支付的区别

微信和支付宝的方式是有独立账户的,银行不会知道客户的支付的钱花到了哪里,但是Apple Pay是一种卡片,苹果直接帮银行刷卡,银行知道客户的支付的钱花到了哪里。

3.Apple Pay的类型

分为线上和线下两种

4.Apple Pay的线上使用

1)配置环境

a.登陆Apple Developer官网,选择证书

ios中的支付

b. 在Identifiers当中选择要给账号进行苹果支付,也就是要给哪个应用添加苹果支付

ios中的支付

 c.选择Merchant IDS加入苹果支付

ios中的支付

d.添加苹果支付的ID,注意苹果支付的ID前面必须是merchant.,后面可以随便写,最好写自己的项目名称

ios中的支付

 e.之后进行注册

ios中的支付

f.此时这个应用就有了苹果支付ID

ios中的支付

g.创建好了之后需要对这个账号进行一下编辑,选择支持苹果支付

ios中的支付

h.需要选择一个CSR文件,相当于身份证,知道哪个电脑在进行使用

ios中的支付

 i.生成CSR文件,在钥匙串当中,选择证书助理,从证书颁发机构请求证书

ios中的支付

输入自己的邮箱,然后存储到磁盘当中

ios中的支付

ios中的支付

此时在桌面就会生成一个CSR文件,然后在编辑支付ID的时候选择这个文件就可以了。

ios中的支付

 2)发送支付请求

a.导入PassKit框架

#import <PassKit/PassKit.h>

b.需要先对设备进行判断,支不支持苹果支付,如果不支持就return,如果支持就判断是否加入了银行卡,如果没有加入银行卡就跳转到钱包去绑定银行卡,如果绑定了银行卡就可以设置进行支付

 //判断设备是否支持苹果支付 if (![PKPaymentAuthorizationViewController canMakePayments]) { //设备不支持,不让apple pay的支付按钮去显示 return; } NSLog(@"设备支持苹果支付"); //判断是否加入了银行卡 if (![PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkChinaUnionPay,PKPaymentNetworkVisa]]) { NSLog(@"未加入银联和Visa银行卡"); //进入设置银行卡的页面 [[[PKPassLibrary alloc]init]openPaymentSetup]; return; }

ios中的支付

ios中的支付

c.没有绑定银行卡的话就跳转到钱包页面进行绑定银行卡,绑定完成以后开始发送支付请求

 //发送支付请求 PKPaymentRequest *req = [[PKPaymentRequest alloc]init]; //设置商户的id,谁要收钱 req.merchantIdentifier = @"merchant.StoreHanvonInput"; //设置国家代码 req.countryCode = @"CN"; //设置支持的卡的类型 req.supportedNetworks = @[PKPaymentNetworkChinaUnionPay,PKPaymentNetworkVisa]; //设置商户的支付标准 req.merchantCapabilities = PKMerchantCapability3DS; //设置货币单位 req.currencyCode = @"CNY"; //设置商品 NSDecimalNumber *num1 = [NSDecimalNumber decimalNumberWithString:@"0.1"]; PKPaymentSummaryItem *item1 = [PKPaymentSummaryItem summaryItemWithLabel:@"营养快线" amount:num1]; req.paymentSummaryItems = @[item1]; //显示支付页面 PKPaymentAuthorizationViewController *vc = [[PKPaymentAuthorizationViewController alloc]initWithPaymentRequest:req]; vc.delegate = self; [self presentViewController:vc animated:YES completion:nil]; #pragma mark - PKPaymentAuthorizationViewControllerDelegate // - (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller { NSLog(@"PKPaymentAuthorizationViewController"); //把支付的页面关闭 [self dismissViewControllerAnimated:YES completion:nil]; } //使用密码支付,开始进行支付调用 - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus status))completion { //把支付信息发送给服务器进行处理 //根据服务器返回的支付是否成功,进行不同的显示(调用block传不同的枚举) completion(PKPaymentAuthorizationStatusSuccess); } 

 ios中的支付

d.也可以设置多个商品,默认付款页面显示的是最后一个商品,所以可以算出来总计在页面显示

 //设置商品 NSDecimalNumber *num1 = [NSDecimalNumber decimalNumberWithString:@"0.1"]; PKPaymentSummaryItem *item1 = [PKPaymentSummaryItem summaryItemWithLabel:@"营养快线" amount:num1]; NSDecimalNumber *num2 = [NSDecimalNumber decimalNumberWithString:@"0.5"]; PKPaymentSummaryItem *item2 = [PKPaymentSummaryItem summaryItemWithLabel:@"可乐" amount:num2]; NSDecimalNumber *num3 = [NSDecimalNumber decimalNumberWithString:@"0.6"]; PKPaymentSummaryItem *item3 = [PKPaymentSummaryItem summaryItemWithLabel:@"苹果支付" amount:num3]; req.paymentSummaryItems = @[item1,item2,item3];

ios中的支付

ios中的支付

ios中的支付

ios中的支付

 e.设置送货的必填内容

ios中的支付

ios中的支付

 //设置发票收据必填内容 // req.requiredBillingContactFields = PKAddre req.requiredBillingAddressFields = PKAddressFieldAll; //设置送货的必填的内容 req.requiredShippingAddressFields = PKAddressFieldAll;

 f.设置送货方式

 //设置送货方式 PKShippingMethod *method = [PKShippingMethod summaryItemWithLabel:@"顺丰" amount:[NSDecimalNumber decimalNumberWithString:@"8"]]; method.identifier = @"shunfeng"; method.detail = @"24小时之内到达"; PKShippingMethod *method1 = [PKShippingMethod summaryItemWithLabel:@"圆通" amount:[NSDecimalNumber decimalNumberWithString:@"3"]]; method1.identifier = @"yuantong"; method1.detail = @"五环之内免费配送"; req.shippingMethods = @[method,method1];

ios中的支付
​​​​​​​

ios中的支付

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/152089.html

(0)
上一篇 2025-03-10 14:26
下一篇 2025-03-10 14:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信