js|Node 微信支付 “由于商家传入的H5交易参数有误 该笔交易暂时无法完成 请联系商家解决”

【js|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; };

    推荐阅读