最近闲来无事,既然已经从事微信开发好久了,无论微信本身开发,微信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开发的教程(算是经验吧),欢迎大家继续关注