微信支付提示支付验证签名失败

在APP里集成了微信支付的SDK,按照官方代码用服务器返回给我的数据来调起支付,可是不知道为什么总是提示支付验证签名失败,网上说是参数名的大小写问题,但是这个参数名传的时候是用的SDK里的方法,那个.a静态库又没办法看,官方代码肯定没问题了,所以就该找找自己的问题


比较大的可能性是时间戳的转换问题,,后台返回给我的时间戳是字符串格式的,人多人都是直接用强转的方式,就是
NSString *timeStampStr=[dataDic objectForKey:@"timeStamp"];

UInt32 timestamp =  (UInt32)timeStampStr;


正确做法应该是:

UInt32 timestamp = (UInt32)[timeStampStr longLongValue];


如果后台传给你的已经是long格式,就只需要转换一次就好,不需要longLongValue转换两次



猜你喜欢

转载自blog.csdn.net/qq_33226881/article/details/78284394
今日推荐