呼叫支付jsapi缺少引數 total_fee
阿新 • • 發佈:2019-01-28
在做微信支付的時候,使用的是easyWecha框架,https://easywechat.org/zh-cn/docs/payment.html
生成js程式碼呼叫微信發起支付的時候遇到【缺少引數 total_fee】的錯誤。
wx.config(<?php echo $js->config(array('chooseWXPay')) ?>); wx.chooseWXPay({ timestamp: e.js['timestamp'] , nonceStr: e.js['nonceStr'], package: e.js['package'], signType: e.js['signType'], paySign: e.js['paySign'], // 支付簽名 success: function (res) { // 支付成功後的回撥函式 } });
網上找了一些攻略,大部分說是在調統一下單介面的時候什麼引數沒填對,但是下單都已經返回成功了,說明引數格式沒什麼問題。
total_fee也已經填了,後來觀察了下,發現是下單時候填的商家訂單號【out_trade_no】用的是固定值,可能是之前用這個固定值做除錯的時候,已經把訂單資訊傳給了微信端並被儲存,但是那時引數可能不太正確,導致後面再傳過去正確引數時,還是一樣的訂單號,微信端呼叫了錯誤的訂單資訊。
所以更換一個新的【out_trade_no】就解決了問題,出錯的時候按照微信文件裡的引數仔細核對基本能解決。