iOS9.0 关于app接入支付宝,跳转到支付宝app(不是网页)支付成功后,不回调到解决办法

调起支付使用的是

[[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) {NSLog(@"%@",result);} withFail:^(NSString *result) {NSLog(@"支付失败%@",result);}]


解决办法:

AppDelegate.m里面 添加 这个方法 

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options{


即可解决:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options{
//如果极简开发包不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给开发包
    if ([url.host isEqualToString:@"safepay"]) {
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            //【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】
            NSLog(@"safepay  result = %@",resultDic);
        }];
        
    }
    if ([url.host isEqualToString:@"platformapi"]){//支付宝钱包快登授权返回authCode
        [[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
            //【由于在跳转支付宝客户端支付的过程中,商户app在后台很可能被系统kill了,所以pay接口的callback就会失效,请商户对standbyCallback返回的回调结果进行处理,就是在这个方法里面处理跟callback一样的逻辑】
            NSLog(@"platformapi  result = %@",resultDic);
    }
    
    return YES;
}
 
  

你可能感兴趣的:(iOS9.0 关于app接入支付宝,跳转到支付宝app(不是网页)支付成功后,不回调到解决办法)