收藏
回答

微信支付apiV3提示支付签名失败

签名是通过的,但是在js中提交后 一直提示 支付签名验证失败。

<script>
   function onBridgeReady() {
    WeixinJSBridge.invoke('getBrandWCPayRequest', {
        "appId": "@payRes.Data.AppId",     
        "timeStamp": "@payRes.Data.Timestamp",      
        "nonceStr": "@payRes.Data.NonceStr",  
        "package":"@payRes.Data.Package",
        "signType": "RSA",
        "paySign": "@payRes.Data.PaySign"  //这里的值一直不对,我从后端获取过来后,下面的打印都是对的,这里为什么就不对了??
    },
    function(res) {
        if (res.err_msg == "get_brand_wcpay_request:ok") {
            $("#showpaymsg").html("支付成功");
        }
        else if (res.err_msg == "get_brand_wcpay_request:cancel") {
            $("#showpaymsg").html("您取消了支付,可扫付费二维码继续支付");
             $("#showconfig").html("appid:@payRes.Data.AppId,timeStamp:@payRes.Data.Timestamp,nonceStr:@payRes.Data.NonceStr,packAge:@payRes.Data.Package,paySign:@payRes.Data.PaySign");
        } 
        else if (res.err_msg == "get_brand_wcpay_request:fail") {
            $("#showpaymsg").html("支付失败");
        }
    });
}
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();
}
</script>


回答关注问题邀请回答
收藏

2 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    2024-07-12

    写固定值没问题说明你计算没问,这就要看一下你js object里面从后端获取过来实际是个啥,你这样贴代码也看不出来

    2024-07-12
    有用 1
    回复 1
    • Gollum
      Gollum
      2024-07-12
      问题解决了,不再通过后端赋值的方式,而是通过异步去后端拿数据赋值给WeixinJSBridge,谢谢你的回答。
      2024-07-12
      回复
  • Gollum
    Gollum
    2024-07-12

    以上代码,我手写填参数进去,是能正常唤起支付界面,就很纳闷。难道是编码问题吗?

    2024-07-12
    有用
    回复
登录 后发表内容