支付宝集成

作者: Harely | 来源:发表于2018-12-27 19:02 被阅读0次

CocoaPods 下载SDK

//搜索最新版
$ pod search AlipaySDK-iOS

//找到最新版本:pod 'AlipaySDK-iOS', '~> 15.5.9',将其复制到Podfile文件中。
//删除Podfile.lock文件

//更新第三方类库文件
$pod update --verbose


使用AlipaySDK 文件

在宏文件中导入AlipaySDK:#import <AlipaySDK/AlipaySDK.h>

设置URL Type

【项目文件】->【TARGETS】->【项目名】->【info】->【URL Types】然后点击“ + ”在URL Schemes中命名一个名称字符串(最好是与项目有关的名字)。

# FloatLaverView.m 文件
//注意:有的后端一股脑把数据传过来没处理,需要前端取字段“params”和“sign”
NSString *orderInfo = [NSString stringWithFormat:@"%@&sign=%@", model[@"params"], model[@"sign"]];

//注意:URL Type中不能使用特殊字符,否则字符宝那边无法识别,如:@"taijidao://"
[[AlipaySDK defaultService] payOrder:orderInfo fromScheme:@"taijidao" callback:^(NSDictionary *resultDic) {
            //在版本 AlipaySDK-iOS 15.5.9 中,这里不支持回调了,需要在AppDelegate.m 文件中,对回调进行处理
        }];
    } failure:^(id  _Nonnull fail) {
        [SVProgressHUD showErrorWithStatus:@"支付异常!"];
    }];


# AppDelegate.m 文件
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    
    if ([url.host isEqualToString:@"safepay"]) {
        //支付宝跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            
            if ([resultDic[@"resultStatus"] integerValue] == 9000) {
                [SVProgressHUD showSuccessWithStatus:@"支付成功!"];
                [[NSNotificationCenter defaultCenter] postNotificationName:aliPaySuccess object:nil];
            }else {
                [SVProgressHUD showSuccessWithStatus:@"支付异常!"];
                [[NSNotificationCenter defaultCenter] postNotificationName:aliPaySuccess object:nil];
            }
        }];
        
        //授权跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
            //解析 auth Code
            NSString *result = resultDic[@"result"];
            NSString *authCode = nil;
            if (result.length > 0) {
                NSArray *resultArr = [result componentsSeparatedByString:@"&"];
                for (NSString *subResult in resultArr) {
                    if (subResult.length > 10 && [subResult hasPrefix:@"auth_code="]) {
                        authCode = [subResult substringFromIndex:10];
                        break;
                    }
                }
            }
            NSLog(@"支付宝授权结果 authCode = %@", authCode?:@"");
        }];
    }
    
    return YES;
}



参考资料:

相关文章

  • iOS Alipay -支付宝

    iOS 集成Alipay -支付宝支付 集成 AliPay - 支付宝

  • iOS支付宝功能集成

    iOS快速集成支付宝详解/支付宝集成获取私钥与公钥 在集成支付宝功能前,我们必须了解下什么支付宝流程,下图是支付宝...

  • 支付宝支付流程(I)

    参考资料:支付宝支付集成支付宝支付集成实现蚂蚁金服iOS支付集成

  • 支付宝 ’openssl/asn1.h' file no

    起因 项目需要集成支付宝,下载了支付宝demo(地址点击这里)然后开启搬砖。按照支付宝的集成说明开始集成。文档地址...

  • ## [iOS 支付宝支付]

    [iOS开发系列-支付宝支付] 概述 开发中支付通常都会集成支付宝支付,下面讲解支付宝的整体流程。 集成支付宝支付...

  • iOS集成支付宝和微信支付SDK

    1. 支付宝SDK集成 实现思路:1.下载支付宝SDK2.集成SDK到项目中,参考官方集成文档。3.调起支付宝SD...

  • iOS APP集成微信支付&&支付宝支付

    相对来讲不是很难,两个sdk集成都只需要四个步骤就搞定了! 一、集成支付宝支付 支付宝支付集成官方教程支付宝官方D...

  • Android:支付宝支付封装

    集成支付宝APP支付 直接按照官方文档逐步集成官方文档:支付宝APP支付官方文档 Android客户端封装支付宝支...

  • ios支付宝签名

    支付宝: iOS 支付功能概述 - 简书 1.iOS集成支付宝 - 简书 2.iOS 集成支付宝 - 简书 3.i...

  • 支付宝支付

    支付宝集成的介绍 第三方支付平台,支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们自己的账户。 集成支付宝的步...

网友评论

    本文标题:支付宝集成

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