如题
微信支付V3,JSAPI调起支付 WeixinJSBridge.invoke 方法 getBrandWCPayRequest
调起后,提示【支付验证签名失败】
报错内容是【get_brand_wcpay_request:cancel】
参考文档:
https://pay.weixin.qq.com/doc/v3/merchant/4012791857
关于签名部分:
文档:https://pay.weixin.qq.com/doc/v3/merchant/4012365339
用文档中给出的测试数据,计算结果是一致的,表示签章算法没问题
报错截图:
部分代码:
function onBridgeReady() {
let d;
d = {
"appId": $("#appid").val(),
"timeStamp": $("#timestamp").val(),
"nonceStr": $("#noncestr").val(),
"package": $("#package").val(),
"signType": "RSA",
"paySign": $("#bri_paySign").val()
};
alert(JSON.stringify(d));
WeixinJSBridge.invoke('getBrandWCPayRequest', d, function(res) {
alert(JSON.stringify(res));
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠,商户需进一步调用后端查单确认支付结果。
} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
// alert('用户取消支付');
alert(res.err_msg);
} else if (res.err_msg == "get_brand_wcpay_request:fail") {
// alert('网络异常,请重新尝试');
alert(res.err_msg);
} else {
alert(res.err_msg)
}
});
}
参考这个去排查https://developers.weixin.qq.com/community/develop/article/doc/000286dd3685d8f7da10ed75e6b413