后端返回的参数:
{
"timeStamp": "1615466808",
"package": "prepay_id=wx1120464888989129d021ad173b11bd0000",
"appId": "wx81dbeaf5cdebab02",
"sign": "603C901CBDAA9D7484BD9BF4BDE7FD99",
"nonceStr": "0df69c99116e474282440ebe8861a0db"
}
前端代码:
function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId":"wx81dbeaf5cdebab02", //公众号名称,由商户传入
"timeStamp":"1615466808", //时间戳,自1970年以来的秒数
"nonceStr":"e61463f8efa94090b1f366cccfbbb444", //随机串
"package":"prepay_id=wx1120464888989129d021ad173b11bd0000",
"signType":"MD5", //微信签名方式:
"paySign":"603C901CBDAA9D7484BD9BF4BDE7FD99" //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {} // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
}
);
}
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
onBridgeReady();
}
1. 已经在微信签名工具上验证签名无误
2. 商户私钥其他支付如H5扫码支付都无问题,密钥无误,且确认没有变更(就一个商户接了支付)
3. 接入的是JSAPI支付,H5的接入顺利且无异常,JSAPI一直卡在最后这个签名
还是会出现下方的错误,求求了救救孩子吧,看了一天没发现啥问题。
问题已解决,见回复。
问题已解决。
完整的流程可以参考下在网上看到的这篇博客,也有错误总结:https://blog.csdn.net/qq_38371367/article/details/87195489。
另外,希望微信官方能够提供签名的demo,哪怕只有Java版本呢。
啊,被困扰两天了,终于解放了~~~