接入的是微信支付和登录,登录回掉没问题也拿到了,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里面之后才报的空指针
回调拿不到,很大可能是你的回调的地址有问题。检查回调地址是否能正常访问