IOS集成支付宝回调的坑

最近做个项目需要集成支付,当然选用支付宝,但是过程中发现了巨大的坑

支付完成后,在appdelegate中作回调,但是这个是不会执行

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    NSString *str1 = [url absoluteString];
    NSLog(@"url %@",[str1 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]);
    //urle
    //跳转支付宝钱包进行支付,处理支付结果
    //妈的这是个坑,下面这个函数根本就不会执行
    
    //如果极简 SDK 不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给 SDK
    if ([url.host isEqualToString:@"safepay"]) {
        NSLog(@"url %@",url.host);
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"safepay = %@",resultDic);
        }];
    }
    
    if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回 authCode
        [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"platformapi = %@",resultDic);
        }];
    }
    return YES;
}

回调操作在下面代码中


[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
            NSLog(@"reslut 这里回调? = %@",resultDic);
            [self aLiPayCallBack:resultDic tradeNO:_product.orderId];
        }];


特别注意一点:在appdelegate中的回调是不能删除的,删除后,调用支付宝客户端支付后不能回调。

支付宝Sdk版本:2.2.3



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值