收藏
回答

微信支付回掉resp为空

接入的是微信支付和登录,登录回掉没问题也拿到了,resp.errorCode,但是支付的回掉拿不到errorCode,支付回来resp报空指针。微信支付可以正常调起,并成功支付,我们的后端也通过,就在支付完,返回商家的时候报错。代码如下:

-(void) onResp:(BaseResp *)resp
{
    if([resp isKindOfClass:[SendAuthResp class]])
    {
        SendAuthResp *temp = (SendAuthResp*)resp;
        int errorCode = temp.errCode;
        NSLog(@"ddddd%@",temp.code);
        NSLog(@"ddddd%d",errorCode);
        switch (errorCode) {
            case 0:
            {
                printf("登录成功-xcode");
                UnitySendMessage("SdkCenter", "WeChatGetAccessToken", [temp.code UTF8String]);
                break;
            }
            case -2:
                printf("用户取消");
                UnitySendMessage("SdkCenter", "WeChatGetAccessToken", "-2");
                break;
            case -4:
                printf("用户拒绝授权");
                UnitySendMessage("SdkCenter", "WeChatGetAccessToken", "-4");
                break;
            default:
                printf("登录失败");
                UnitySendMessage("SdkCenter", "WeChatGetAccessToken", "-9");
                break;
        }
    }
    else if([resp isKindOfClass:[PayResp class]])
    {
        PayResp *response = (PayResp*)resp;
        int errorCode = response.errCode;  // 这里response为空,但登录的是没问题的
        NSLog(@"ddddd%@",errorCode);
        switch (response.errCode) {
            case WXSuccess:
                UnitySendMessage("SdkCenter", "WeChatCallback", 0);
                break;
            default:
                UnitySendMessage("SdkCenter", "WeChatCallback", 1);
                break;
        }
    }
}

奇怪的是,isKindOfClass的时候判断是PayResp类型,是进到else if里面之后才报的空指针

最后一次编辑于  2019-08-28
回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-08-29

    回调拿不到,很大可能是你的回调的地址有问题。检查回调地址是否能正常访问

    2019-08-29
    有用
    回复
登录 后发表内容
问题标签