java微信公众号 js调用微信支付报错 errMsg:chooseWXPay:fail

奖励有点少,实在是没有c币了。
下面是我的js,不清楚到底是什么原因导致的,各位大神帮忙给解决下吧;具体报错:config签名啥的是OK的,但是在调用chooseWXPay的时候,就失败了 报错errMsg:chooseWXPay:fail 没有别的提示信息,不清楚失败原因
$('#pay_sub_btn').on(touchType, function(){
var _this = $(this);
var payType = $('#pay_type').val();
var orderId = $('#J_payOrder_id').val();
var orderSn = $('#J_payOrder_sn').val();
var payFee = $('#J_payOrder_card_no').val();
var fieldLabel = $('#fieldLabel').val();
var date = $('#date').val();
var orderTimes = $('#orderTimes').val();
var gymName = $('#gymName').val();
var path = $('#basePath').val();

    hideError();
    lock = true;
    _this.text('支付中...');
    if(payType == 13){
       //支付宝支付

    }else{
        $.ajax({  
            url:path+"/orders/OrdersPayForWx.do?orderId="+orderId
        }).done(function(data){  
            var obj = eval('(' + data + ')');  
            if(parseInt(obj.agent)<5 && obj.agent != "false"){  
                alert("您的微信版本低于5.0无法使用微信支付,请升级之后再操作!~");
                return;  
            }else if(obj.agent == "false"){
                alert("请使用微信浏览器操作!~");
                return;  
            }
            if(obj.code == "0"){
                alert("登陆已经过期,请重新登录!~");
                window.location.href = path+'/login.jsp';
            }
            wx.config({
                debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: obj.appId, // 必填,公众号的唯一标识
                timestamp: obj.contime, // 必填,生成签名的时间戳
                nonceStr: obj.constr, // 必填,生成签名的随机串
                signature: obj.consign,// 必填,签名,见附录1
                jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            });
            wx.ready(function(){
                wx.chooseWXPay({
                    "timestamp": obj.paytime, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                    "nonceStr": obj.paystr, // 支付签名随机串,不长于 32 位
                    "package": obj.paypack, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
                    "signType": obj.paysigntype, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
                    "paySign": obj.paysign, // 支付签名
                    success: function (res) {
                        // 支付成功后的回调函数
                        alert(res.err_msg);
                        _this.text('支付');
                         if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                             _this.text('支付');
                            // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
                             window.location.href = path + '/orders/GetOrders.do?page=1&pageSize=10&orderStatus=0';
                         }else{
                            alert(res.errMsg);
                            alert(res.err_msg);
                            _this.text('支付');
                            return false;
                         }
                    }
                });
            });
            wx.error(function(res){
                alert(res.err_msg);
                _this.text('支付');
                return false;
            });
        });  
    }
});
1

1个回答

{"errMsg":"chooseWXPay":"fail"},这个问题产生的原因很有可能是微信授权域名和微信支付域名设置的不一样,比如一个有www一个没有。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
微信支付-公众号支付-choosewxpay:fail
是司机都要翻船的. 公众号支付涉及微信平台两个大类的接口,要在客户端最后调用出成功的微信支付界面真是一件不容易的事情. JSAPI类接口: 1.wx.config 2.wx.chooseWXPay 支付类接口: 1.unifiedorder 2.notify   网上一堆的码工朋友被腾讯坑得不要不要地.现在想总结一下.   1.后台的配置一定要配置好: 1.1.公众号平台:...
微信支付踩过的坑
在微信体系中,支付也算是比较重要的一环,这里记录一下工作中微信支付--公众号支付踩过的一些坑。 问题: errorMsg : &quot;chooseWXPay:fail, the permission value is offline verifying&quot; 安卓没有提示,ios会有具体的提示, 首先一定要确保自己的参数值传递正确 ios与安卓系统不一致的地方,安卓可以正常支付,ios出现下单...
关于微信支付的那些坑
最近在做微信支付,原本是用原版的支付方式;关于一些支付所需参数,    我这里先假设参数都没有问题;这里是微信内H5调起支付的代码:function onBridgeReady(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { &quot;appId&quot;:&quot;wx2421b1c4370ec43b&quot;, //公众...
微信支付接口返回chooseWXPay:fail
微信支付接口返回chooseWXPay:fail基本都是参数问题引起的 wx.chooseWXPay({ appId: "", timestamp: "", // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: "", // 支付签名随机串,不长于 32 位 p
微信JSSDK_支付的使用,验证成功
微信jssdk支付功能-前端部分
java微信公众号 js调用微信支付报错 errMsg:chooseWXPay:fail
奖励有点少,实在是没有c币了。rn下面是我的js,不清楚到底是什么原因导致的,各位大神帮忙给解决下吧;具体报错:config签名啥的是OK的,但是在调用chooseWXPay的时候,就失败了 报错errMsg:chooseWXPay:fail 没有别的提示信息,不清楚失败原因rn$('#pay_sub_btn').on(touchType, function()rn var _this = $(this);rn var payType = $('#pay_type').val();rn var orderId = $('#J_payOrder_id').val();rn var orderSn = $('#J_payOrder_sn').val();rn var payFee = $('#J_payOrder_card_no').val();rn var fieldLabel = $('#fieldLabel').val();rn var date = $('#date').val();rn var orderTimes = $('#orderTimes').val();rn var gymName = $('#gymName').val();rn var path = $('#basePath').val();rn rn hideError();rn lock = true;rn _this.text('支付中...');rn if(payType == 13)rn //支付宝支付rn rn elsern $.ajax( rn url:path+"/orders/OrdersPayForWx.do?orderId="+orderIdrn ).done(function(data) rn var obj = eval('(' + data + ')'); rn if(parseInt(obj.agent)<5 && obj.agent != "false") rn alert("您的微信版本低于5.0无法使用微信支付,请升级之后再操作!~");rn return; rn else if(obj.agent == "false")rn alert("请使用微信浏览器操作!~");rn return; rn rn if(obj.code == "0")rn alert("登陆已经过期,请重新登录!~");rn window.location.href = path+'/login.jsp';rn rn wx.config(rn debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。rn appId: obj.appId, // 必填,公众号的唯一标识rn timestamp: obj.contime, // 必填,生成签名的时间戳rn nonceStr: obj.constr, // 必填,生成签名的随机串rn signature: obj.consign,// 必填,签名,见附录1rn jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2rn );rn wx.ready(function()rn wx.chooseWXPay(rn "timestamp": obj.paytime, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符rn "nonceStr": obj.paystr, // 支付签名随机串,不长于 32 位rn "package": obj.paypack, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)rn "signType": obj.paysigntype, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'rn "paySign": obj.paysign, // 支付签名rn success: function (res) rn // 支付成功后的回调函数rn alert(res.err_msg);rn _this.text('支付');rn if(res.err_msg == "get_brand_wcpay_request:ok" ) rn _this.text('支付');rn // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 rn window.location.href = path + '/orders/GetOrders.do?page=1&pageSize=10&orderStatus=0';rn elsern alert(res.errMsg);rn alert(res.err_msg);rn _this.text('支付');rn return false;rn rn rn );rn );rn wx.error(function(res)rn alert(res.err_msg);rn _this.text('支付');rn return false;rn );rn ); rn rn );rn rn
调用微信支付wx.chooseWXPay 详细流程
 第一步:配置微信基本配置 /* * 获取微信配置 以下的参数后台提供 这里切记,经常会报错, 因为页面的url的问题, 我这里是后台写死的,根据不同的环境配置不同url * */ initWxConfig () { this.$fetch(url).then(res =&amp;gt; { console.log...
微信公众号内网页调wx.chooseWXpay支付错误
1,JSAPI支付授权目录没有设置,或设置不正确 2,微信支付生成签名不正确 格式是这样的 "appId="+appid+"&nonceStr="+nonceStr+"&package="+packageStr+"&signType="+signType+"&timeStamp="+timeStamp; packageStr参数的内容是prepay_id=****** *
微信支付"errMsg":"chooseWXPay:fail"
支付界面提示:[color=#FF0000]"errMsg":"chooseWXPay:fail"[/color] rnrn[code=text]rnrn wx24ee75095583642frn S$$$牛肉筋 内蒙古新鲜牛肉1800克、前牛腱 内蒙古新鲜牛肉2斤、小黄瓜条 内蒙古新鲜牛肉2斤、腹肋条 牛腩王 内蒙古新鲜牛肉2斤、大黄瓜条 内蒙古新鲜牛肉2斤、牛肉馅 内蒙古新鲜牛肉250克rn 牛肉筋 内蒙古新鲜牛肉1800克、前牛腱 内蒙古新鲜牛肉2斤、小rn 1226584002rn c5ZdHVBfgtw71ou9jDAKdaDUZ74Wa6Ukrn http://www.fumeibest.com/3g/shop/notify.asprn oth1puIKrFgmUTg3RpdQxi5kyYpQrn FM201512242236383050rn 119.35.54.74rn 94890rn JSAPIrn 78F091ECB9968AA58A38147BF016C0B8rnrn[/code]rn微信返回下面错误信息rn[code=text]rn FAILrn attach too longrn[/code]rn[img=https://img-bbs.csdn.net/upload/201512/26/1451106948_805639.jpg][/img]
微信公众号支付:支付验证签名失败
如果开发的时候用微信demo做开发的话记得注意 wxpay这个类的构造函数中, if (useSandbox) { this.signType = SignType.MD5; // 沙箱环境 } else { this.signType = SignType.HMACSHA256; }正式环境默认是HMACSHA256加密方式,如果是想按M...
微信支付,微信登陆,微信APP登陆,微信APP支付
本demo为微信登陆,微信支付源码,复制到工程里,做点小修改就可以使用,有问题请留言
微信公众号开发中遇到的问题——支付(二)
第一次开发微信公众号,也是第一次接触微信公众号的支付,我使用的是jssdk,用h5页面调用的支付,后台使用的是java。首先声明,我不是一个愤世嫉俗的人,也不喜欢吐槽,我认为别人提供接口就已经很不错了,干嘛要吐槽呢?但是,这一次,我不得不说,微信公众号支付的文档真是渣!!!你没有也就算了,既然有了,为何不好好写?就好像别人问你路该怎么走,你给别人指了路,但指偏了。下面我记录一下我这次微信支付开发中
关于微信支付chooseWXPay
开发微信支付,百思不得其解,用第一种调接口的方式华为P8没反应,第二种WX调接口的方式还是没反应,由此想到兼容性问题换为P6测试,过了….. 到底是安卓碎片化严重,还是TX程序员临时工? 继续往下写,支付成功后竟然返回了一个空!!!支付失败的时候返回值没问题,醉了。 var obj = res; // 用来保存所有的属性名称和值
微信H5公众号支付问题-(get_brand_wcpay_request:fail)2017年10月
微信H5公众号支付问题-(get_brand_wcpay_request:fail)
JAVA微信公众号开发之公众号内H5调微信支付
微信公众号内调用微信支付接口wx.chooseWXPay,需要引用JSSDK,配置config,这个步骤在我的另一篇调用地图接口博客有详细说明,这里就不介绍了,然后微信公众号里还提供了wx.onBridgeReady,这个就不需要配置直接调用就好了,可能是前者是对后者的封装吧。 首先把公众号的域名授权和微信支付目录授权配置好,支付目录要配置到调用支付的页面当前文件夹,否则会导致调不出...
vue 微信支付问题
和后台搞了很久的微信支付,查了很多资料(我们笨(#^。^#))终于搞定了, 啥都不说,先上代码   上图还是不能调起支付的,看了很多资料,大佬们说在哈希模式下,在#前加?,笨啦,在路由下添加基地:“/?#/”这样加没有效果,必须要加模式:“历史”,这样确实在页面中调起支付了,但是返回路由就出了问题,好像是要后台做什么设置。才能解决,太麻烦。我就想了下。既然只要#pre加一个?,那么可不可...
vue开发spa应用时 微信支付问题(尤其是ios)
临时解决办法: 两个都加上支付路径: http://example.com/#!/ http://example.com/#!/order https://blog.asaki.me/posts/chooseWXPay-fail/ 对着官方文档这句:“发起支付的页面目录必须与设置的精确匹配。”看了半个小时,我突然想到是不是URL hash生成的“/#!/目录”被微信
微信公众号JS接口安全域名配置:config:fail,invalid url domain
在配置微信公众号时,我们经常先是用测试账户管理进行配置,毕竟是开发模式,往往会出现以下问题:config:fail,invalid url domain。注册微信服务报错,如何解决?解决:你配置的url是否正确?有没有把http去掉呢?正确 URL:hzwxgzh.s2.natapp.cc错误 URL:http://hzwxgzh.s2.natapp.cc需要在js接口安全域名以及功能配置那里进行...
微信公众号支付出错: 当前页面的URL未注册: get_brand_wcpay_request:fail
支付授权目录 设置问题 如下设置 假如请求是:http://www.xxx.com/shop/2/user/do-pay 必须填写: http://www.xxx.com/shop/2/user/ 假如请求是:http://www.xxx.com/wxpay/order 必须写:http://www.xxx.com/wxpay
微信公众号开发之JSSDK:记config:invalid signature 的错误排查
开发的公众号有上传图片的需求,故开始接入JSSDK。接入的基本流程不表,自行参考官方文档。在此记录config:invalid signature 的错误排查过程,因为是第一次开发,又没人可问,摸索了很久,此文权当给遇到同样问题的人一个借鉴。 参考本文的前提是你必须确认自己的生成的签名已经通过了微信官方的签名算法校验,这样就排除了是签名生成算法错误的可能。 排错过程如下: 1.最可能
微信支付的流程和大坑
最近公司项目准备上线,楼主(前端)这边做了一个微信公众号(还是h5,我到现在也不知道叫啥)支付的功能,反正就是   这个,代码很少,很简单,但是,坑巨多! 先说一下微信支付的基本流程(官方叫业务流程),这里是官方文档写的很仔细,一定要仔细看,理解了,才好写代码。 大致的意思,就是微信用户点击网址或者扫描二维码进入商品页面选购商品(这个页面前端来写没什么好说的)   1.点击支付(这时候带着...
微信公众号之:JSSDK接入以及invalid signature等常见错误问题
最近在搞微信公众号开发,进行到网页开发部分被坑了一天,最坑的问题就是invalid signature,而网上大部分解答这个问题的都没有说清楚,都直接丢文档。博主决定这样很不好。本文是博主结合自身遇到的问题所写,整个流程跟问题都很详细,希望能给遇到同样问题的朋友提供一点帮助。 一、绑定JS接口安全域名 生产号绑定方法:登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
jsSdk 微信配置config,调起微信支付
话不多说,首先第一步,获取config需要的参数  appid,noncestr ,timestamp ,url ,signature 1.编写controller /** * 微信配置获取config * * @param request * @return */ @RequestMapping(value = &quot;/config&quot;, me...
微信支付,调起支付接口,payment微信:-1]General errors
还没解决,记录一下
微信公众号支付js
今晚整理(17-3-30) http://www.jb51.net/article/96490.htm http://www.cnblogs.com/imeng/p/4810232.html https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E5.BE.AE.E4.BF.A1.E6.94.AF.E
关于微信公众号支付接口开发遇到的奇葩问题,始终返回get_brand_wcpay_request:fail。
最近公司开发网站针对微信公众号的支付功能。 由于公司目前的这个项目网站是使用asp代码开发的,但是微信官方给出的demo中是没有asp版本的,所以楼主只有下载demo的php版本作为参考写了一个asp版本的代码。 阅读官方的提供的公众号支付文档理清支付发起到调用微信完成付款功能(吐槽下微信的官方文档写的太tmkd了,有些写的模糊了就靠你去猜去实验才能得出结果)。 楼主的产品想实现的功能场景:...
微信公众号开发中遇到的问题——支付回调,分享,获取openId(三)
微信的统一下单接口(https://api.mch.weixin.qq.com/pay/unifiedorder)中,下单时,有这样一个参数:notify_url,该参数是为接收微信支付异步通知回调的地址,通知url必须为直接可访问的url,不能携带参数。之前我做回调的时候,为了性能方面的考虑,没有使用这种方式,而是在这个方法中: wx.ready(function(){ wx.chooseW
微信支付问题总结.docx
微信支付失败问题总结 包括invalid signature和 chooseWXPay fail
微信支付web开发遇到的一些坑
一、本地环境支付测试需要外网      方法1、ngrok 内网穿透工具,由于ngrok是国外产品,访问比较慢,建议使用NATAPP(基于ngrok高速内网穿透的服务)https://natapp.cn/      方法2、 QQ浏览器9.0以上版本,打开应用中心,搜索“微信调试工具”并安装插件,直接输入端口点击启动服务,然后就可以在外网访问了。二、相关的域名设置      1、支付目录设置经过反复
thinkPHP+easyWeChat开发微信公众号支付,企业付款,红包
easywechat 配置 public function __construct() { $configModel = new Setting(); $this-&gt;orderModel = new Orders(); $this-&gt;memberModel = new Members(); $config =...
微信公众号开发里JSSDK 1.4.0分享接口updateAppMessageShareData 无效
解决方式:暂时解决方案先调用旧版本api:onMenuShareAppMessage,新版本updateAppMessageShareData目前无效。 代码: // console.log(&quot;wx================&quot;, wx) wx.config({ debug: false, // 开启调试模式...
微信支付v3开发(6) 收货地址共享接口
请看新版教程 微信支付开发(7) 收货地址共享接口V2本文介绍微信支付下的收货地址共享接口的开发过程。一. 简介微信收货地址共享,是指用户在微信浏览器内打开网页,填写过地址后,后续可以免填写支持快速选择,也可增加和编辑。此地址为用户属性,可在各商户的网页中共享使用。支持原生控件填写地址,地址数据会传递到商户。地址共享是基于微信JavaScript API 实现,只能在微信内置浏览器中使用,其...
SpringMVC微信公众号支付
刚写完微信公众号支付,把小问题总结一下,以免再写的时候又忘了。绑定开发者账号,不然没有权限开发:微信公众平台==&amp;gt;设置==&amp;gt;人员设置微信公众平台==&amp;gt;安全中心==&amp;gt;设置IP白名单,不然之后会报错IP没有权限。微信公众平台==&amp;gt;开发==&amp;gt;开发者工具 ,绑定自己的微信号JS-SDK说明文档地址:https://mp.weixin.qq.com/wiki?t=reso...
关于微信图片上传时出现uloadImage:fail
1.时间差问题 在选择图片后,采用setTimeout(function(){wx.uploadImage()},100);可以解决android设备下的问题。 此处还有一个坑,在IOS设备下,必须一个传完之后在调接口传下一个。否则连续调uploadImage后,只会上传最后一张图片 2.toString() uploadImage调用时把chooseImage所获取的localI
微信公众号开发者中心配置 Token验证失败 终极解决方案
有时候我们发现所有的配置都设置好了,网上也查了不少的资料,还是不行 请您检查这几项: 1. 在您的URL(服务器地址)页面里,直接Get获取echostr参数打印到页面上。 在火狐浏览器里Firebug里面看到echostr前面多了几个乱码。 把您开发者设置的URL页面,用NotPad++打开,转为UTF-8无BOM编码格式。 前面的乱码应该是在文件有BOM的原因。 2. 注...
关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)(防止更多人踩坑)
微信公众号支付,H5调起支付API,微信内置浏览器支付
微信JS-SDK Demo 实现 invalid signature错误详解
微信JS-SDK Demo代码 invalid signature错误详解在readme里面
微信支付问题---使用wx.requestPayment,支付页面调不出的巨坑!
1:遇到的问题:openid is invalid     在测试支付的时候发现没有效果,然后查到返回的信息为Openid is invalid (40029)昨天百度了一晚上,还是没有找到这个问题的解决办法。然后,今天又重新想 了下,发现由于我两个小程序的appid 弄混淆了,导致在获取用户信息的时候,得到的openid也是有问题的。所以,大家一定先考虑这个问题,然后再看看是不是其他的
如何通过微信开发者工具调试微信api或者解决调试时“the permission value is offline verifying”的bug问题
本文可以解决如下两个问题 1.可以解决微信调试各种时“the permission value is offline verifying”的问题 2.可以帮助开发者在开发者工具上直接调试微信的api。 解决步骤: 1.打开微信开发者工具,选择公众号,复制下面地址http://demo.open.weixin.qq.com/jssdk放在地址栏打开 2.运行本地项目,复制本地项目地址到开发...
关于使用微信支付IOS能调起而安卓无法调起的问题
最近在做微信公众号支付,但是出了点情况。 问题描述:在IOS端微信浏览器调起微信支付(wx.choosewxpay)没有问题正常调起,而在安卓端微信支付点击后先是弹出的微信经典的支付小黑块,然后就立马就返回支付失败的通知了。但是通过微信的调试模式,看到配置是没问题的。但是却看到了{&quot;errMsg&quot;:&quot;chooseWXPay:fail&quot;}的提示。 解决方式:其实网上也有答案,但是说的比较模糊确实...