美文网首页iOS Developer
支付宝支付完成以后跳转回app

支付宝支付完成以后跳转回app

作者: Billy_W | 来源:发表于2017-02-13 18:39 被阅读0次

1.支付宝支付以后需要跳转到自己的app,需要在自己项目AppDelegate.m里面 添加如下方法:

- (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);
        }];

        // 授权跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",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 9之后使用

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

        // 授权跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processAuth_V2Result:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",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;
}

2.如果还是无法返回自己的app,请检查支付宝使用时

[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {
NSLog(@"%@",result)}];

代码附近

NSString *appScheme = @"自己app名称";
[AlixLibService payOrder:orderString AndScheme:appScheme seletor:_result target:self];

我把这里写成自己项目的名称,再次运行,发现支付后还是无法返回。原来是需要在info.plist文件中添加一个键值,如下图:


app名称添加位置.jpeg

这样之后就可以在调用支付宝之后返回自己的app了。

相关文章

  • 支付宝支付完成以后跳转回app

    1.支付宝支付以后需要跳转到自己的app,需要在自己项目AppDelegate.m里面 添加如下方法: iOS 9...

  • 目前项目的功能统计

    支付宝支付配置 配置scheme : ali2018063060534036 跳转回来的,识别app的作用。。只要...

  • iOS开发WKWebView嵌套H5支付调原生APP支付及回调

    本文内容如标题,会涉及到H5调原生支付以及在微信、支付宝支付后跳转回本APP内容1、H5调起微信、支付宝APP支付...

  • THINKPHP集成支付宝APP支付并提供接口

    支付宝APP支付步骤: 配置应用网关->填写域名即可,配置回调地址,也就是支付宝后台通知地址 5.配置完成以后,开...

  • iOS开发 - APP间通讯

    常用的APP间通讯场景是支付和分享。接入支付宝等支付场景时需要跳转到支付宝APP,完成支付后再将支付结果返回原来的...

  • iOS 支付宝支付

    支付宝支付流程 支付宝的集成按着官方文档来 ios支付宝集成流程 签名呀注册AppKey 我们是由后台完成的App...

  • apicloud app接通支付宝支付

    好久没更新了使用apicloud开发的app接通支付宝支付 1. 先操作支付宝需要先签约支付宝 签约完成审核通过后...

  • iOS WKWebView H5微信、支付宝支付跳转

    iOS客户端实现嵌入H5进行支付跳转到客户端,支付完成后再跳转回我们的APP,解决WKWebView无法跳转回AP...

  • App之间的跳转详解

    APP之间的跳转需求很普遍,比如我们使用支付宝、微信支付时,会调起支付宝、微信客户端,支付完成后又返回到我们APP...

  • iOS--两个APP之间的相互跳转

    APP之间的跳转需求很普遍,比如我们使用支付宝、微信支付时,会调起支付宝、微信客户端,支付完成后又返回到我们APP...

网友评论

    本文标题:支付宝支付完成以后跳转回app

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