iOS 支付宝支付

步骤 1 下载SDK
docs.open.alipay.com/54/104509


步骤 2 启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。
AlipaySDK.bundle
AlipaySDK.framework

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

其中,需要注意的是:
如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;
如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib(如下图)。

步骤 3 在需要调用AlipaySDK的文件中,增加头文件引用。

import

    NSString *appScheme = @"";
    [[AlipaySDK defaultService] payOrder:@"" fromScheme:appScheme callback:^(NSDictionary *resultDic) {
        int code = [[resultDic objectForKey:@"resultStatus"] intValue];
        if(code == 9000){
            NSLog(@"支付成功");
        }else if (code == 8000){
            NSLog(@"正在处理中");
        }else if (code == 4000){
           NSLog(@"订单支付失败");            
        }else if (code == 6001){
            NSLog(@"用户中途取消");                        
        }else if (code == 6002){
           NSLog(@"网络连接出错");                                   
        }
    }];

说明:payOrder:参数 需要在后台获取,因为获取私钥并将商户信息签名,外部商户的加签过程请务必放在服务端,防止公私钥数据泄露
步骤 4 配置支付宝客户端返回url处理方法。

import

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    
    if ([url.host isEqualToString:@"safepay"]) {
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options
{
    if ([url.host isEqualToString:@"safepay"]) {
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

步骤 5 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id(如下图所示)。

URL type

你可能感兴趣的:(iOS 支付宝支付)