微信JSAPI支付提示“調用支付JSAPI缺少參數:total_fee”


 

1、問題分析

首先核實需要的參數是否有值,其次核實JSAPI喚起支付方法的參數類型是否有效(經試驗這個問題會導致多個錯誤,比如:(1)調用支付JSAPI缺少參數:timeStamp;(2)商戶傳入的appid參數不正確,請聯系商戶處理),懷疑蘋果手機的微信內置瀏覽器有轉義,比如:package=rs.data.package;實際上傳給喚起支付JS的參數類型是int,也就是說我們賦值的時候需要加上 '',將int轉string類型,代碼如下:

var appid,timeStamp,nonceStr,package,paySign;

//Ajax獲取業務參數
$.get('/wx/pay/jsapi.do',{},function(rs){
    appid = ''+rs.data.appid;
    package = ''+rs.data.package;
    ...
    //喚起支付function
    ...
});

當然如果定義參數的時候賦初始值,比如:var package="";這樣就不需要在ajax回調函數賦值的時候加上 ( ""+ );

2、喚起JSAPI支付方法

function onBridgeReady() {
    WeixinJSBridge.invoke('getBrandWCPayRequest', {
        "appId": "wx2421b1c4370ec43b",     //公眾號ID,由商戶傳入     
        "timeStamp": "1395712654",     //時間戳,自1970年以來的秒數     
        "nonceStr": "e61463f8efa94090b1f366cccfbbb444",      //隨機串     
        "package": "prepay_id=up_wx21201855730335ac86f8c43d1889123400",
        "signType": "RSA",     //微信簽名方式:     
        "paySign": "oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\/X+QBhcCYL21N7cHCTUxbQ+EAt6Uy+lwSN22f5YZvI45MLko8Pfso0jm46v5hqcVwrk6uddkGuT+Cdvu4WBqDzaDjnNa5UK3GfE1Wfl2gHxIIY5lLdUgWFts17D4WuolLLkiFZV+JSHMvH7eaLdT9N5GBovBwu5yYKUR7skR8Fu+LozcSqQixnlEZUfyE55feLOQTUYzLmR9pNtPbPsu6WVhbNHMS3Ss2+AehHvz+n64GDmXxbX++IOBvm2olHu3PsOUGRwhudhVf7UcGcunXt8cqNjKNqZLhLw4jq\/xDg==" //微信簽名 
    },
    function(res) {
        if (res.err_msg == "get_brand_wcpay_request:ok") {
            // 使用以上方式判斷前端返回,微信團隊鄭重提示:
            //res.err_msg將在用戶支付成功后返回ok,但並不保證它絕對可靠。
        }
    });
}
if (typeof WeixinJSBridge == "undefined") {
    if (document.addEventListener) {
        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    } else if (document.attachEvent) {
        document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
} else {
    onBridgeReady();
}

3、微信支付-QA文檔

https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/faq/chapter2_15.shtml?index=2#menu11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM