iOS-支付宝支付的实现

关于支付宝支付, 首先了解一下, 支付流程:

1.用户点击支付
2.客户端请求服务器用户支付
3.服务器接收请求生成金额订单等要给第三方支付的一切信息,并生成回调参数传给客户端
4.客户端接收信息(一般会再让用户确认支付或者干脆购买后是生成订单,然后才是付款)并将服务器给的信息分别传入SDK需要的参数中,调用SDK的支付方法
5.由支付宝SDK向支付宝自己的服务器发出支付请求,支付宝的服务器接收支付请求处理成功后,给客户端本身与公司的后台都发送一条支付成功的消息,客户端与后台根据这条消息再做处理.

开发步骤
第一步: 仔细看开发文档, 并 下载 SDK
开发文档 很重要, 建议先把开发文档仔仔细细看一遍, 可以避免很多坑, 特别是交互流程:

   

支付功能的交互流程

第二步: 集成 SDK

1 . 将 SDK 拖进 工程


2 . 在Build Phases 选项卡的 Link Binary With Libraries 中,增加以下依赖:

     

                                                                 添加SDK依赖的类库


3 . 设置为URL Schemes 


设置为URL Schemes

4 . 添加支付逻辑代码,完成支付过程

在 AppDelegate.m 中, 

#import <AlipaySDK/AlipaySDK.h>//支付宝支付

API调用说明

  • 发起支付: orderString由后端统一生成,appScheme就是环境配置中设置的URLScheme 

    [[AlipaySDK defaultService] payOrder:orderString
                               fromScheme:appScheme
                                 callback:^(NSDictionary *resultDic) {                                                                                                                                                                                                                  //支付结果返回                 
                                     NSLog(@"reslut = %@",resultDic);                                                                                         //成功                                                                                                                                                                                                                                                                                                                                                                      //失败                                                                               }];
  • 处理支付结果:在AppDelegate的以下三个方法中调用,这里调用方法单独封装出来

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
     
    NSString *urlStr = [NSString stringWithFormat:@"%@",url];
    
        if ([url.host isEqualToString:@"safepay"]) {  //判断支付宝回调
            //跳转支付宝钱包进行支付,处理支付结果
            [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
                //TY_Log(@"result = %@",resultDic);
                //处理支付结果
            }];
    
        }else if ([sourceApplication isEqualToString:@"com.tencent.xin"] && [urlStr containsString:@"pay"]){ //判断微信回调
            TYLLog(@"跳转微信支付处理支付方式结果");
            return [WXApi handleOpenURL:url delegate:self];
    
        }
    return YES;}
    // NOTE: 9.0以后使用新API接口
    - (BOOL)application:(UIApplication *)app
             openURL:(NSURL *)url
             options:(NSDictionary<NSString*, id> *)options {
    
    NSString *urlStr = [NSString stringWithFormat:@"%@",url];
    
        if ([url.host isEqualToString:@"safepay"]) {  //判断支付宝回调
            //跳转支付宝钱包进行支付,处理支付结果
            [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
                //TY_Log(@"result = %@",resultDic);
                //处理支付结果
            }];
    
        }else if ([sourceApplication isEqualToString:@"com.tencent.xin"] && [urlStr containsString:@"pay"]){ //判断微信回调
            TYLLog(@"跳转微信支付处理支付方式结果");
            return [WXApi handleOpenURL:url delegate:self];
    
        }
    return YES;}
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    
    [WXApi handleOpenURL:url delegate:self];
    }




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS开发中,支付是一个非常重要的功能。在开发支付时,需要考虑到支付流程、支付方式、支付安全等方面的内容。以下是一些开发支付的要点: 1. 集成支付SDK iOS开发中,一般使用第三方支付SDK实现支付功能。常见的支付SDK包括:支付宝SDK微信支付SDK、银联支付SDK等。在使用SDK前,需要先注册开发者账号,并获取相应的API Key和App ID等信息。 2. 支付流程 支付流程一般包括以下几个步骤: - 用户选择支付方式; - 向支付平台发起支付请求; - 用户输入支付密码; - 支付平台返回支付结果; - 应用根据支付结果进行相应的处理。 3. 支付安全 支付安全是非常重要的。在开发中,需要考虑到以下方面: - 用户信息的安全保护:包括用户的账号、密码、支付信息等; - 支付数据的安全保护:对于涉及到支付的数据,需要采用加密算法进行保护,避免被非法攻击者窃取; - 安全审计:需要对支付过程中的各个环节进行安全审计,及时发现并修复漏洞。 4. 支付方式 在iOS开发中,常见的支付方式包括: - 支付宝支付:支持PC端、移动端、扫码支付等多种支付方式; - 微信支付:支持微信内支付、H5支付、APP支付等多种支付方式; - 苹果支付:支持应用内购买,用户可以直接使用Apple ID进行支付。 需要根据应用的实际情况,选择适合的支付方式。 总之,开发支付需要考虑到多个方面的内容,包括支付流程、支付方式、支付安全等,需要仔细规划和实现,以保证支付功能的正常运作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值