博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery-weui微信支付报错问题解决
阅读量:7005 次
发布时间:2019-06-27

本文共 4584 字,大约阅读时间需要 15 分钟。

微信支付报错问题解决

支付回调各种报错,openID、APPID等等原因,打印 console.log(typeof(res.jsApiParameters));
重点把string转化为Object就ok了。
每次支付请求会生成订单,根据对应订单号,修改数据库订单状态才可以完成。

{  "appId":"wx1b35c*********3",  "nonceStr":"nam97dundxjiisasumrevju*******",  "package":"prepay_id=wx***",  "signType":"MD5",  "timeStamp":"1**",  "paySign":"7CD01*****9"}
//获取充值套餐$.ajax({    type: 'post',    url: api.domain + api.recharge_package,    data: {        "access_token": access    },    success : function(res) {        if (res.status == 1) {            var n = res.data.length;            var menu = [];            if(n < 1){                return false;            }            for(var i = 0;i < n;i++){                menu.push(res.data[i].id);                var selected;                //设置默认套餐与价格                if(i == 0){                    selected = ' btn-active';                    $('#money').html(res.data[i].price);                } else {                    selected = '';                }                var $list = $('' + res.data[i].name + '');                $list.appendTo($('#parent'));            }            $('#count').val(menu);        } else {            $.toptip(res.msg,'cancel');        }    },    error: function(XMLHttpRequest, textStatus, errorThrown) {        console.log('XMLHttpRequest.status = ' + XMLHttpRequest.status);        console.log('XMLHttpRequest.readyState = ' + XMLHttpRequest.readyState);        console.log('textStatus = ' + textStatus);    }});//点击套餐$('body').on('click', '.js-pay', function(){    var param_b = $(this).attr('title');    var menu = $('#count').val().split(',');    for(var p = 0; p < menu.length;p++) {        if(menu[p] == param_b) {            $('span[title="' + menu[p] + '"]').addClass('btn-active');        } else {            $('span[title="' + menu[p] + '"]').removeClass('btn-active');        }    }    $('#money').html($(this).attr('price'));});//充值付费$("#pay").click(function() {    var package = $('.btn-active').attr('title');    $.ajax({        type: 'post',        url: '/recharge/pay',        data: {            "access_token": access,            "package_id": package        },        success : function(res) {            console.log(typeof(res));            console.log(res.jsApiParameters);            console.log(typeof(res.jsApiParameters));            if (res.status == 1) {                if (typeof WeixinJSBridge == "undefined"){                    if( document.addEventListener ){                        document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);                    }else if (document.attachEvent){                        document.attachEvent('WeixinJSBridgeReady', jsApiCall);                        document.attachEvent('onWeixinJSBridgeReady', jsApiCall);                    }                }else{                    jsApiCall($.parseJSON(res.jsApiParameters),res.order_no);                }            } else {                $.toptip(res.msg,'cancel');            }        },        error: function(XMLHttpRequest, textStatus, errorThrown) {            console.log('XMLHttpRequest.status = ' + XMLHttpRequest.status);            console.log('XMLHttpRequest.readyState = ' + XMLHttpRequest.readyState);            console.log('textStatus = ' + textStatus);        }    });});//调用微信JS api 支付function jsApiCall(n,order_no){    console.log(n);    WeixinJSBridge.invoke(        'getBrandWCPayRequest',        n,        function(res){            WeixinJSBridge.log(res.err_msg);            //alert(res.err_code+res.err_desc+res.err_msg);            if(res.err_msg == "get_brand_wcpay_request:ok" ) {                    paySuccess(order_no);              }else if(res.err_msg == "get_brand_wcpay_request:cancel"){                $.toast("支付取消", "cancel");              }else{                $.toast("支付失败", "forbidden");              }     // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。         }    );}//微信回调成功,跳转成功页面function paySuccess(n){    $.ajax({        type: 'post',        url: api.domain + api,        data: {            "access_token": access,            "order_no": n        },        success : function(res) {            if (res.status == 1) {                location.href = '/recharge/success';            } else {                $.toptip(res.msg,'cancel');            }        },        error: function(XMLHttpRequest, textStatus, errorThrown) {            console.log('XMLHttpRequest.status = ' + XMLHttpRequest.status);            console.log('XMLHttpRequest.readyState = ' + XMLHttpRequest.readyState);            console.log('textStatus = ' + textStatus);        }    });}

转载地址:http://vlytl.baihongyu.com/

你可能感兴趣的文章
Go 性能优化技巧 10/10
查看>>
一个通过物理地址查询网卡所属厂商的Python库——mac.py
查看>>
【编码】切割单词流并逆向、大小写反转输出-牛客联合笔试编程题(一)-2016.04.08...
查看>>
Vim实战指南(五):文本替换
查看>>
Flask 教程 第二十三章:应用程序编程接口(API) ...
查看>>
索尼推出新专利,可提供磁场定位追踪
查看>>
rundeck yum 安装完成后跳转http://localhost:4440/menu/home问题解决 ...
查看>>
E3新秀Immerex发布VRG-9020,会是一款颠覆VR行业的头显吗? ...
查看>>
Euler 今日问世!国内首个工业级的图深度学习开源框架,阿里妈妈造 ...
查看>>
非root用户开启tomcat报错Permission denied
查看>>
Spring Boot系列(十)Spring Boot整合Elasticsearch全文搜索引擎 ...
查看>>
解决 EXT4 使用无法挂载
查看>>
linux find detail
查看>>
DLA SQL分析函数:SQL语句审计与分析的利器
查看>>
JavaScript表格的隔行换色开发
查看>>
企业应该选择哪种区块链
查看>>
antd组件Upload实现自己上传
查看>>
基于SimpleChain Beta的跨链交互与持续稳态思考
查看>>
面向IoT的协议选择思考
查看>>
重读 Youtube 深度学习推荐系统论文,字字珠玑,惊为神文
查看>>