美文网首页支付
支付宝回调

支付宝回调

作者: 赤焰军少帅林殊 | 来源:发表于2017-11-08 16:08 被阅读5次
    注意事项:     1.NSString *appScheme = @"dadaxiupay"; plist设置的跳转白名单是你自己APP独立设置的白名单
    没设置对待会回不到APP
    
    2.支付宝回调不在appdegete里面 而是在打开支付宝那个block回调里面
    if ([url.host isEqualToString:@"safepay"]){
            // 支付跳转支付宝钱包进行支付,处理支付结果
            NSLog(@"%@",url);
            [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
                NSLog(@"支付返回结果result = %@",resultDic);//该回调是用于非钱包跳转
            }];
             return  YES;
        }//这个是安装支付宝钱包的回调结果,假如你是没有跳转的是支付宝软件支付,log是不会打印的,回调在下面
    //支付回调和支付一开始调用是同一个 block
    
    3.正确做法
    [[AlipaySDK defaultService] payOrder:json[@"content"][@"request"] fromScheme:appScheme callback:^(NSDictionary *resultDic) {
                        NSLog(@"result = %@",resultDic);
                         [self.navigationController popViewControllerAnimated:YES];
                         NSString *resultStatus = [resultDic objectForKey:@"resultStatus"];
                          NSString *memo;
                        if ([resultStatus intValue] == 9000) {
                            memo = @"支付成功!";
                           OrderPayStateController* ovc=[[OrderPayStateController alloc]initWithname:buyname withaddressage:buyaddressage withphone:buyphone withPrice:self.allgoodprices];
                             ovc.hidesBottomBarWhenPushed = YES;
                             [self.navigationController pushViewController:ovc animated:YES];
                        }else {
                            switch ([resultStatus intValue]) {
                                case 4000:{
                                    memo = @"订单支付失败!";
                                    [self paydetail:memo];
                                }
                                    break;
                                case 6001:{
                                    memo = @"用户中途取消!";
                                    [self paydetail:memo];
                                }
                                    break;
                                case 6002:{
                                    memo = @"网络连接出错!";
                                    [self paydetail:memo];
                                }
                                    break;
                                case 8000:{
                                    memo = @"正在处理中...";
                                    [self paydetail:memo];
                                }
                                    break;
                                default:
                                    break;
                            }
                        }
            //
                    }];
    

    相关文章

      网友评论

        本文标题:支付宝回调

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