ios中的支付

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

一、Apple Pay(苹果支付)

1.什么是Apple Pay

Apple Pay是一种支付方式

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

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

3.Apple Pay的类型

分为线上和线下两种

4.Apple Pay的线上使用

1)配置环境

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

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

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

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

 e.之后进行注册

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

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

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

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

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

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

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

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

 

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

 e.设置送货的必填内容

    //设置发票收据必填内容
//    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];


​​​​​​​

### 回答1: Apple Pay H5是苹果公司推出的一种移动支付解决方案,可以让用户通过手机在网页上完成支付。它结合了苹果设备的安全功能和苹果支付平台的便利性,为用户提供更快速、更安全的在线支付体验。 使用Apple Pay H5进行支付非常简单。用户只需在支持Apple Pay H5的网站上选择使用Apple Pay进行支付,然后通过苹果设备上的Touch ID或Face ID进行身份验证。一旦身份验证成功,支付信息通过加密方式传输到支付平台完成交易,无需输入信用卡或账号信息,极大地提升了支付安全性。 除了便捷和安全性,Apple Pay H5还提供了更好的支付体验。用户可以在购物流程使用苹果设备的钱包应用来管理他们的支付卡,包括信用卡、借记卡和礼品卡,简化了支付过程。用户无需记住各种账号和密码,只需使用已经保存在苹果设备支付卡信息即可完成支付。 Apple Pay H5也具有广泛的适用性。作为一种跨平台解决方案,它支持不同的浏览器和操作系统,用户无需担心兼容性问题。因此,商家在接入Apple Pay H5后,可以为更多的用户提供便捷的支付方式,吸引更多的消费者。 综上所述,Apple Pay H5是苹果公司推出的一种移动支付解决方案,具有便捷、安全和良好的适应性。它为用户提供了更好的支付体验,为商家提供了更多的支付选择,有助于推动移动支付的普及和发展。 ### 回答2: Apple Pay H5是苹果公司推出的一种支付方式。它结合了苹果的iOS系统和移动网页技术,使用户可以在网页上使用Apple Pay进行支付。 与传统的Apple Pay相比,Apple Pay H5无需下载和安装特定的App,只需要在支持Apple Pay的网站上选择Apple Pay作为支付方式,并使用设备上保存的信用卡或借记卡信息进行支付。用户在支付过程需要使用设备上的Touch ID或Face ID进行身份验证,确保安全性和可靠性。 通过Apple Pay H5,用户可以在电商平台上更方便地完成购买。与传统的输入个人信用卡信息不同,Apple Pay H5直接使用用户在Apple Wallet保存的卡片信息,减少了输入信息的复杂性,提高了支付速度。 Apple Pay H5具有很高的安全性。苹果公司采用了多层次的安全措施,包括设备上的Touch ID和Face ID、设备和Apple服务器之间的加密信道等,确保用户的支付信息不会被泄露或被盗用。 Apple Pay H5目前已经在一些电商平台上得到了广泛应用。用户只需要使用支持Apple Pay的浏览器,即可享受快捷、安全的支付体验。对于商家来说,集成Apple Pay H5可以提高用户支付的便利性和购买欲望,增加交易成功率。 总之,Apple Pay H5是一种方便、安全的支付方式,通过结合iOS系统和移动网页技术,为用户提供了更好的支付体验。 ### 回答3: Apple Pay H5是苹果公司推出的一种线上支付解决方案。它结合了Apple Pay和H5技术,使用户能够通过手机或其他移动设备进行线上支付。 Apple Pay是一种近场通信(NFC)支付技术,旨在提供便捷、安全的支付方式。用户可以在支持Apple Pay的商家店铺,使用iPhone或Apple Watch进行支付。只需将设备靠近POS机,通过指纹识别或Face ID(面容识别)进行身份验证即可完成支付。这一技术在线下支付场景得到了广泛应用。 而H5技术是一种基于网页的开发技术,允许开发者在不需要用户下载和安装应用的情况下,通过网页实现一系列交互功能。因此,Apple Pay H5是将Apple Pay应用于网页支付的一种解决方案。 Apple Pay H5的成功无疑为用户提供了更便利、快捷的支付方式。用户可以通过打开支持Apple Pay H5的商户网站,选择Apple Pay作为支付方式,并通过手机或其他移动设备完成支付。而无需下载安装应用程序,可以节省用户的存储空间和下载时间。 此外,Apple Pay H5也提供了更高的安全性。借助借助Apple Pay的安全机制,用户可以通过指纹识别或面容识别进行身份验证,避免了传统网页支付输入密码可能存在的风险,提供了更加安全的支付环境。 综上所述,Apple Pay H5是一种结合了Apple Pay和H5技术的线上支付解决方案。它既具有Apple Pay的便捷和安全性,又能够通过网页实现支付功能,为用户提供更快捷、便利的支付体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值