當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
微信JSAPI支付调不起收银台问题
生活随笔
收集整理的這篇文章主要介紹了
微信JSAPI支付调不起收银台问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? 今天寫微信支付,后臺預支付能拿到所有參數,但前臺死活不能調起收銀臺,用開發者工具調試,參數什么的,沒有任何問題,方法也都調用了。折騰良久。
先上代碼,以下代碼沒有調起收銀臺
<script src="/js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>//引包 <script>$(function () {window.baseUrl = 'http://' + window.location.host;$.ajax({url: window.baseUrl + '/api/js_config?url=' + encodeURIComponent(location.href.split('#')[0]),async: false,success: function (response) {window.js_config = response.body.js_config;}});wx.config({debug: false,appId: window.js_config.appId,timestamp: window.js_config.timestamp,nonceStr: window.js_config.nonceStr,signature: window.js_config.signature,jsApiList: window.js_config.jsApiList});wx.ready(res => {wx.checkJsApi({jsApiList: ['chooseWXPay'],success: res => {console.log('checked api:', res)},fail: err => {console.log('check api fail:', err)}})})wx.chooseWXPay({timestamp: '${pay_param.timestamp!"error"}',nonceStr: '${pay_param.nonceStr!"error"}',package: '${pay_param.package!"error"}',signType: '${pay_param.signType!"error"}',paySign: '${pay_param.paySign!"error"}',success: function (res) {alert("支付成功");setTimeout(function () {location.href = "/purchase_coupon/couponInfo/${cid}";}, 1000);},cancel: function (res) {alert("取消支付");},fail: function (res) {alert("支付失敗");}})}) </script>看了官方文檔,也查了很多帖子,發現調不起收銀臺(什么反應都沒有,也無錯誤提示),一般是wx.config 沒有配置,或者沒有配置好的問題,但代碼中顯然已經配置,配置也無問題,后發現是加載順序問題,wx.config 未配置完成就走了?wx.chooseWXPay。 故改變代碼如下,等待wx.config 加載完成后 再去調起支付,調起收銀臺成功。
<script src="/js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script> <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>//引包window.baseUrl = 'http://' + window.location.host;$.ajax({url: window.baseUrl + '/api/js_config?url=' + encodeURIComponent(location.href.split('#')[0]),async: false,success: function (response) {window.js_config = response.body.js_config;}});wx.config({debug: false,appId: window.js_config.appId,timestamp: window.js_config.timestamp,nonceStr: window.js_config.nonceStr,signature: window.js_config.signature,jsApiList: window.js_config.jsApiList});wx.ready(function () {wx.chooseWXPay({timestamp: '${pay_param.timestamp!"error"}',nonceStr: '${pay_param.nonceStr!"error"}',package: '${pay_param.package!"error"}',signType: '${pay_param.signType!"error"}',paySign: '${pay_param.paySign!"error"}',success: function (res) {alert("支付成功");setTimeout(function () {location.href = "/purchase_coupon/couponInfo/${cid}";}, 1000);},cancel: function (res) {alert("取消支付");},fail: function (res) {alert("支付失敗");}})});?
總結
以上是生活随笔為你收集整理的微信JSAPI支付调不起收银台问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android中点击头像放大,Andro
- 下一篇: 微信支付整理 (微信公众号支付)