支付宝SDK的两个回调区别

首次集成支付宝SDK的时候想必大家会对SDK中的两个回调有一些搞不清,有些人也不会细看文档,就会问到底区别是什么。下面来为大家解析一下。

        [[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
            NSLog(@"reslut1 = %@",resultDic);
            if ([[resultDic objectForKey:@"resultStatus"] integerValue] == 9000) {
                successCallBack(1);
            }else {
                failureCallBack(0);
            }
        }];

第一个回调,在支付的时候调用,当时就可以收到回调。这个回调是网页版支付吧支付的回调。注解里已经写了

/**
 *  支付接口
 *
 *  @param orderStr       订单信息
 *  @param schemeStr      调用支付的app注册在info.plist中的scheme
 *  @param compltionBlock 支付结果回调Block,用于wap支付结果回调(非跳转钱包支付)
 */

第二个回调,也就是最常用的,和微信支付同位置的回调。在appdelegate中。

    if ([url.host isEqualToString:@"safepay"]) {
        // 支付跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
//            NSLog(@"result3 = %@",resultDic);
            if ([[resultDic objectForKey:@"resultStatus"] integerValue] == 9000) {
               
                [ProgressHUD showSuccessWithStatus:NSLocalizedString(@"PayForSuccess", @"Localization")];
            }else {
                [ProgressHUD showErrorWithStatus:NSLocalizedString(@"PayForFailure", @"Localization")];
            }

        }];

这个回调是,调转到支付宝app支付回来以后的回调

/**
 *  处理钱包或者独立快捷app支付跳回商户app携带的支付结果Url
 *
 *  @param resultUrl        支付结果url
 *  @param completionBlock  支付结果回调
 */

猜你喜欢

转载自blog.csdn.net/lee727n/article/details/102501851