iOS制作银联支付SDK过程


这里很有必要记录一下银联支付的iOS控件的下载地址

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

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

  • 欢迎各位一块学习,提高逼格!
  • 也可以添加洲洲哥的微信公众号

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

公众号二维码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值