微信支付 get_brand_wcpay_request:fail 问题所在

来源:V型知识库 2017年11月18日 08:30 浏览:3877

最近闲来无事,既然已经从事微信开发好久了,无论微信本身开发,微信jsapi开发,微信硬件蓝牙开发都已经接触并熟悉了,唯一没有接触的一块就是微信支付,微信支付这一块技术,网上很多案例,我也就索性大概看了下微信公众平台关于微信支付这一块的文档,有人说很烂,也没怎么研究,倒是看了一大堆网上分享的技术文章,大致了解了下流程,然后屁颠屁颠的网上复制代码加上自己修改研究,终于研究出来了,不过在此过程遇到了些坑,就是在调用微信支付jsapi过程中老是返回get_brand_wcpay_request:fail,get_brand_wcpay_request:fail 重要的事说两遍,毕竟是个异常,看着就不爽,少一遍。


遇到的坑1 

开发测试之初,就选择微信支付jsapi开发,以为和微信jsapi一样,jsp页面需要引入微信jsapi的js文件库

  <script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js"> </script>

然后在JavaScript中config验证

wx.config({
		 	  beta: true,
		      debug: true,
		      appId: tt.appid, //'wx1704c363451ba04b',
		      timestamp: tt.timestamp,
		      nonceStr: tt.nonceStr,
		      signature: tt.signature,

最后才能调用微信支付jsapi 发起支付,坑爹啊,原以为一切都基于微信jsapi接口,毕竟微信硬件jsapi就是这么定义的,然后就在界面中引入,坑爹开始,支付界面一直报get_brand_wcpay_request:fail,其实这里js库文件和config都不用,去掉它就可以了。(在搜索的时候网上有个案例要求加入,不明所以,估计是最新接口要求吧,我这个是V3版本)


遇到的坑2

授权目录填写错误

授权目录如果填写错误,也会导致get_brand_wcpay_request:fail的错误,什么是授权目录呢,我在这里以springMVC的controller为例。

 

如上图,大家都是开发者应该看的懂,此方法就是请求支付页面的路径,例如我的是http://www.xxxx.com/项目名/v_3/pay.do,然后我们在公众平台 微信支付-----》开发配置----》支付授权目录 配置的授权目录应该为http://www.xxxx.com/项目名/v_3/ 如果配置不正确,也会报get_brand_wcpay_request:fail 


至于其它坑,无非就是参数的问题,大家仔细检查吧,常犯得错误基本就是坑1和坑2

----------------------------华丽丽的分割线-------------------------------------------------------

接下来有时间,我会在此网站开一个微信支付jsapi开发的教程(算是经验吧),欢迎大家继续关注