美文网首页
iOS 蚂蚁金服

iOS 蚂蚁金服

作者: 风冰武 | 来源:发表于2018-10-12 10:20 被阅读0次

一:手机网站支付转Native支付

配置:

步骤1: 将SDK中的以下文件拷贝到项目文件中, 并导入到项目工程中:

AlipaySDK.bundle
AlipaySDK.framework
在Target中的Build Phases下的选项卡中的Link Binary With Libraries中, 增加以下依赖: 依赖的库

步骤2:配置支付宝客户端返回url处理方法

在AppDelegate.m文件中, 导入头文件:
#import <AlipaySDK/AlipaySDK.h>

在@implementation AppDelegate中增加如下代码:

- (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) {
           //由于在跳转支付宝客户端支付的过程中, 商户app在后台很可能被系统kill了, 所以pay接口的callback就会失败, 请商户对standbyCallback返回的回调结果进行处理, 就是在这个方法里面处理跟callback一样的逻辑
            NSLog(@"resultDic = %@",resultDic);
        }];
    }
    else if ([url.host isEqualToString:@"platformapi"]) {//支付宝钱包快登授权返回authCode
        [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
            //由于在跳转支付宝客户端支付的过程中, 商户app在后台很可能被系统kill了, 所以pay接口的callback就会失效, 请商户对standbyCallbak返回的回调结果进行处理, 就是在这个方法里面处理跟callback一样的逻辑
            NSLog(@"resultDic = %@",resultDic);
        }];
    }
    return YES;
}


实现手机网站转App支付:

步骤1: 实现UIWebViewDelegate协议, 拦截H5的URL;

步骤2:调用新增拦截+支付二合一接口(payInterceptorWithUrl)进行URL拦截及支付转化:

[AlipaySDK.defaultService payInterceptorWithUrl:url fromScheme:scheme callback:^(NSDictionary *resultDic) {
      //处理支付结果
      NSLog(@"resultDic = %@",resultDic);
}];

支付结果返回码说明:

9000----订单支付成功
8000----正在处理中
4000----订单支付失败
5000----重复请求
6001----用户中途取消
6002----网络连接出错

开发文档:https://docs.open.alipay.com/203/106493/

相关文章

网友评论

      本文标题:iOS 蚂蚁金服

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