您现在的位置是:首页 > 文章详情
jquery-weui微信支付报错问题解决
日期:2018-09-10点击:501收藏
微信支付报错问题解决
支付回调各种报错,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 = $('<span class="weui-btn btn-check js-pay ' + selected + '" title="' + res.data[i].id + '" price="' + res.data[i].price + '">' + res.data[i].name + '</span>'); $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); } }); }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PHP 获取数组最后一个值
<?PHP$array = array(1,2,4,6,8);echo end($array);?> <?PHP$array = array(1,2,4,6,8);echo array_pop($array);?> <?PHP$array = array(1,2,4,6,8);$k = array_slice($array,-1,1);print_r($k);//结果是一维数组?>
- 下一篇
php 截取字符串
php 截取字符串第一个字符,php截取掉字符串最后一个字符的方法:<?$frist = substr( $c_url, 0, 1 ); $delete_last = substr(base_url(),0,-1);
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
扫描即可查看该文章
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启