iOS制作银联支付SDK过程

作者: 洲洲哥 | 来源:发表于2018-07-10 15:32 被阅读5次

本文首发地址

这里很有必要记录一下银联支付的iOS控件的下载地址
银联支付SDK下载地址
git下载地址
选择手机控件下载即可,下载包中含有对应的开发文档和demo
本文记录主要讲把银联支付做成cocoapods组件供各位看官方便使用。

大家现在可以搜索

pod 'UnionPaySDK'

配置podspec文件
配置cocopod工程


配置UnionPaySDK.podspec文件

直接上podspec文件,主要配置请看注释

Pod::Spec.new do |s|
    s.name             = 'UnionPaySDK'
    s.version          = '0.0.2'
    s.summary          = '银联支付SDK'
    
    s.description      = <<-DESC
    TODO: Add long description of the pod here.
    DESC
    #这里是首页,请写对你git的首页
    s.homepage         = 'https://github.com/7General'
    s.license          = { :type => 'MIT', :file => 'LICENSE' }
    s.author           = { 'wanghuizhou' => 'wanghuizhou@guazi.com' }
    # 一定要写对你git上对应的工程的连接地址,否则lint时校验不通过
    s.source           = { :git => 'https://github.com/7General/UnionPaySDK.git', :tag => s.version.to_s }
    
    s.ios.deployment_target = '8.0'
    # 如果有.a或者framwork文件时一定要和class文件夹平级建设,应为在指定的sourcefile在class里面,然而里面确不能出现资源文件
    s.vendored_libraries = 'UnionPaySDK/Frameworks/libPaymentControl.a'
    s.libraries = 'z'
    s.frameworks = 'CFNetwork','SystemConfiguration','CoreTelephony'

  s.source_files = 'UnionPaySDK/Classes/**/*'
  # 注意
  s.user_target_xcconfig =   {'OTHER_LDFLAGS' => ['-lc++']}

end

在配置该podspec文件时要注意

  • s.source:一定要在创建的工程git地址
  • s.vendored_libraries:这里是引用的资源文件,比如.a或者framewor文件等
  • s.user_target_xcconfig:当前编译模式吧

info.plist添加协议白名单

info.plist添加协议白名单

把下载的资源包解压

UPPaymentControl.h放入class文件夹
libPaymentControl.a放入frameworks文件夹
如图


工程文件夹 SDK文件夹

注意:一定要添加URL Types


添加URL Types

回调结果

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    [[UPPaymentControl defaultControl] handlePaymentResult:url completeBlock:^(NSString *code, NSDictionary *data) {
        if ([code isEqualToString:@"success"]) {
            if (nil == data) {
                return;
            }
            NSData * singData = [NSJSONSerialization dataWithJSONObject:data options:0 error:nil];
            NSString * sign = [[NSString alloc] initWithData:singData encoding:NSUTF8StringEncoding];
            // 拿该证书去商户后台验签
            if (YES/*验签sign*/) {
                NSLog(@"//验签成功,展示支付成功提示");
            }else {
                NSLog(@"验签失败,交易可能被串改,商户app后台查询结果");
            }
        }else if([code isEqualToString:@"fail"]){
            NSLog(@"交易失败");
        }else if([code isEqualToString:@"cancle"]){
            NSLog(@"交易取消");
        }
    }];
    
    return YES;
}

上传cocoapod

上传的过程请查看下面这片文章
上传自己的私有的(公共的)CocoaPods支持库

有些地方说的不到位,还请各位看官指正。。。

  • 如有问题可添加QQ群:234812704
  • 欢迎各位一块学习,提高逼格!
  • 也可以添加洲洲哥的微信公众号

可以来微信公众号(洲洲哥)后台给我们留言。 快来扫码关注我们吧!

公众号二维码

相关文章

  • iOS制作银联支付SDK过程

    本文首发地址 这里很有必要记录一下银联支付的iOS控件的下载地址银联支付SDK下载地址git下载地址选择手机控件下...

  • android集成微信、支付宝、银联sdk

    微信支付sdk 支付宝支付sdk 银联支付sdk

  • iOS银联支付集成

    项目中需要用到银联支付,简单的记录下集成过程与集成中遇到的问题。 一、到银联支付开放平台下载SDK,银联手机控件支...

  • 收录 : iOS支付开发

    iOS 银联支付开发流程iOS 微信支付开发流程iOS 支付宝支付开发流程iOS Apple Pay开发流程App...

  • iOS 银联支付 newSizeWithFont:forWidt

    iOS 银联支付,打开银联控件报错: newSizeWithFont:forWidth:lineBreakMode...

  • iOS开发 支付之银联支付集成

    iOS开发之银联支付集成 最近在做支付这一块的东西,就记录下来以便以后参考和各位交流学习,这里是银联支付 银联官网...

  • iOS第三方库有重复文件的问题解决方案

    最近在做一个支付功能,用到移动的和包支付,微信支付,银联支付。但是和包支付的SDK里已经包含了微信支付的SDK(我...

  • iOS支付[支付宝、银联、微信]

    这是开头语 前不久做了一个项目,涉及到支付宝和和银联支付,支付宝和银联都是业界的老大哥,文档、SDK都是很屌,屌的...

  • 支付宝/银联/微信

    这是开头语前不久做了一个项目,涉及到支付宝和银联支付,支付宝和银联都是业界的老大哥,文档、SDK都是很屌,屌的找不...

  • 接入银联SDK过程

    调用银联云闪付SDK遇到如下三种场景,打开的界面是不同。 1.安装了云闪付app 场景一:用户打开了云闪付app,...

网友评论

    本文标题:iOS制作银联支付SDK过程

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