微信公众平台支付,调用支付JSAPI缺少参数:total_fee

调用支付JSAPI缺少参数:total_fee

参考:

https://blog.csdn.net/iceErvin/article/details/71774006

从后台传回的是一个json对象,但是.timestamp中的s弄成了小写,所以报上面错误。s改为大写S

payData.appId前后,不需要单引号或者双引号了,加了后,构造的json,传到微信,同样会报上面的错误。

当然最直接,注释掉{//"appid"....//微信签名}这一段,直接用json对象payData也可,payData是后台返回的WXJsPayParam字符串,在前端使用payData = jQuery.parseJSON(data.WXJsPayParam);反序列化而成。

//调用微信支付模块
    function onBridgeReady() {
        WeixinJSBridge.invoke(
            'getBrandWCPayRequest', {
                //"appId": "'" + payData.appId + "'",     //公众号名称,由商户传入
                //"timeStamp": "'" + payData.timeStamp + "'",         //时间戳,自1970年以来的秒数
                //"nonceStr": "'" + payData.nonceStr + "'", //随机串
                //"package": "'" + payData.package + "'",
                //"signType": "'" + payData.signType + "'",         //微信签名方式:
                //"paySign": "'" + payData.paySign + "'" //微信签名
                appId: payData.appId,     //公众号名称,由商户传入
                //timeStamp: payData.timestamp,         //时间戳,自1970年以来的秒数
                timeStamp: payData.timeStamp,         //时间戳,自1970年以来的秒数
                nonceStr: payData.nonceStr, //随机串
                package: payData.package,
                signType: payData.signType,         //微信签名方式:
                paySign: payData.paySign //微信签名
            },
            //payData,
            function (res) {
                jQuery('#msg').text(res.err_msg);
                if (res.err_msg == "get_brand_wcpay_request:ok") {
                    //alert("支付成功,请稍后查询余额,如有疑问,请联系管理员.");
                    //fAlreadyPay();
                }     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。

                alert(JSON.stringify(res));
            }
        );
    }

你可能感兴趣的:(C#开发)