天天看點

Node 微信支付 “由于商家傳入的H5交易參數有誤 該筆交易暫時無法完成 請聯系商家解決”

之前穩定運作一段時間的微信H5支付,突然報錯:“由于商家傳入的H5交易參數有誤 該筆交易暫時無法完成 請聯系商家解決”。

經過多方排查,最終确定是微信下單的ip傳遞有誤。上傳的ip為“127.0.0.1”,這個ip微信H5支付的時候是不認的。

可以通過以下函數擷取正确ip(适用于Node)

// 擷取使用者真實ip
    get_client_ip (req) {
        let ip = req.headers['x-forwarded-for'] ||
            req.ip ||
            req.connection.remoteAddress ||
            req.socket.remoteAddress ||
            req.connection.socket.remoteAddress || '';
        if(ip.split(',').length>0){
            ip = ip.split(',')[0]
        }
        return ip;
    };
           

繼續閱讀