收藏
回答

【已解决】JSAPI支付 微信内H5调起支付 签名验证失败

后端返回的参数:

{

  "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一直卡在最后这个签名
还是会出现下方的错误,求求了救救孩子吧,看了一天没发现啥问题。


问题已解决,见回复。

最后一次编辑于  03-12
回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容
问题标签