微信支付时显示缺少参数:appId,明明自己已经传过了

1631006776f.png

这个问题和上一个问题一样,都在我做公众号支付的时候出现了

于是我上网查了查,这是一位作者的分享

https://www.jianshu.com/p/383fd9b502ac?ivk_sa=1024320u

我觉得他讲的挺对的,但是我的问题没有得到解决

如果大家遇到相同的问题可以先试一试这位博主的方法

经过自己试了好几种方法之后,我也不知道在哪个犄角旮旯的地方看见一句:把传参的对象变为普通的对象试一试,

就是属性名不要加引号这样的

下面是我的源码,成功了

function onBridgeReady() {
            var timeStamp = sessionStorage.getItem('timeStamp')
            var nonceStr = sessionStorage.getItem('nonceStr')
            var package = sessionStorage.getItem('package')
            var signType = sessionStorage.getItem('signType')
            var paySign = sessionStorage.getItem('paySign')
            var oppId = sessionStorage.getItem('oppId')
            var timo = {
                appId: oppId,
                timeStamp: timeStamp,
                nonceStr: nonceStr,
                package: package,
                signType: signType,
                paySign: paySign
            }
            WeixinJSBridge.invoke(
                // 'getBrandWCPayRequest', {
                //     "appId": "wx2421b1c4370ec43b", //公众号ID,由商户传入     
                //     "timeStamp": "1395712654", //时间戳,自1970年以来的秒数     
                //     "nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串     
                //     "package": "prepay_id=u802345jgfjsdfgsdg888",
                //     "signType": "MD5", //微信签名方式:     
                //     "paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名 
                // },
                'getBrandWCPayRequest', timo,
                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();
}

大家把它写在点击事件里,自由发挥.....

以上就是解决微信支付时显示缺少参数:appId问题的方法了
如果这篇文章对你有帮助,或者在进行中遇到其他问题,欢迎评论区留言出来。
我们一起探讨~

你可能感兴趣的:(微信支付时显示缺少参数:appId,明明自己已经传过了)