安卓app调试微信拉起支付时总是报错
IWXAPI api = WXAPIFactory.createWXAPI(this, appId);
PayReq req = new PayReq();
req.appId = appId;
req.partnerId = MCH_ID;
req.prepayId = d.getPrepayId();
req.packageValue = "Sign=WXPay";
req.nonceStr = d.getNoncestr();
req.timeStamp = d.getTimestamp();
req.sign = d.getSign();
boolean b = api.sendReq(req);
if (b) {
XToastUtils.toast("已发送请求");
} else {
XToastUtils.toast("发送失败");
}
报错:
W/MicroMsg.SDK.WXMsgImplComm: validateAppSignatureForPackage ex com.tencent.mm
E/MicroMsg.SDK.WXApiImplV10: sendReq failed for wechat app signature check failed
是什么原因
appId是公众号的appid还是移动应用的appid
1、检查应用签名是否和在开放平台登记的包签名一致
2、如果包签名检查正确无误,那么查看系统android版本,android 11 及以上版本的手机需进行兼容,详情请参考Android 11-更新openSDK适配说明部分:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/Android.html
APPID是移动应用的APPID,你用的V2还是V3?一般就是参数大小写或者参数类型的问题