最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信支付jsapi缺少參數(shù) total_fee 錯誤分析與解決方法

 更新時間:2018年03月26日 09:56:26   投稿:wdc  
這篇文章主要介紹了微信支付jsapi缺少參數(shù) total_fee 錯誤分析與解決方法,需要的朋友可以參考下

微信支付jsapi缺少參數(shù) total_fee,其實很多參數(shù)錯誤都會報這個錯,其實不一定是參數(shù) total_fee,所以最好是單步或者在日志文件輸出中間結(jié)果,畢竟服務(wù)器上沒幾個裝開發(fā)軟件的。

最近更換服務(wù)器之后,加上了nginx做代理并做了負(fù)載均衡后,微信支付第一次支付缺少參數(shù) total_fee,再支付就可以,再點支付有報錯缺少參數(shù) total_fee,好奇怪,按理說是不應(yīng)該報錯或者要就一直報錯,看了好一會代碼,沒問題,最后把統(tǒng)一下單的參數(shù)打印到后臺,終于發(fā)現(xiàn)問題

統(tǒng)一下單中spbill_create_ip參數(shù)一會是127.0.0.1(ipv4),一會是0:0:0:0:0:0:0:1(ipv6)

當(dāng)為ipv4是可以正常調(diào)用,為ipv6是就發(fā)生缺少參數(shù) total_fee錯誤,其實后臺報錯是

<xml>
<return_code>
<![CDATA[FAIL]]>
</return_code>
<return_msg><![CDATA[invalid spbill_create_ip]]></return_msg>
</xml>

從中可以發(fā)現(xiàn)

1、微信支付不支持ipv6;

2、spbill_create_ip參數(shù)雖然要求為非空,但是微信只是校驗了非空,沒有根本要求要實際的用戶端實際ip,(127.0.0.1都能發(fā)起支付);

3、同時,我們也發(fā)現(xiàn)為什么ipv4情況下會一直是127.0.0.1,因為用了nginx做了代理,所以request.getRemoteAddr獲取的IP永遠(yuǎn)是本機(jī)地址。

確定問題所在,下面解決問題,把獲取IP地址的方法換一下

原來是

parameterMap.put("spbill_create_ip", request.getRemoteAddr());

更換成

public static String getIpAddr(HttpServletRequest request) { 
    String ip = request.getHeader("x-forwarded-for"); 
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
      ip = request.getHeader("Proxy-Client-IP"); 
    } 
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
      ip = request.getHeader("WL-Proxy-Client-IP"); 
    } 
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
      ip = request.getRemoteAddr(); 
    } 
    return ip; 
  } 

這樣獲取的IP是ipv4是也是客戶的真實ip。

有時報這個錯誤并不一定是IP的問題,前端報錯都是微信支付jsapi缺少參數(shù) total_fee,所以最好的方法還是把中間結(jié)果打印出來或者斷點測試一下

相關(guān)文章

  • 解讀Serverless架構(gòu)的前世今生

    解讀Serverless架構(gòu)的前世今生

    云計算的不斷發(fā)展,涌現(xiàn)出很多改變傳統(tǒng)IT架構(gòu)和運維方式的新技術(shù),而以虛擬機(jī)、容器、微服務(wù)為代表的技術(shù)更是在各個層面不斷提升云服務(wù)的技術(shù)能力,它們將應(yīng)用和環(huán)境中很多通用能力變成了一種服務(wù)。但無論這些技術(shù)應(yīng)用在哪里,幫助企業(yè)降本增效是技術(shù)變革永恒的主題。
    2021-05-05
  • 在VScode上使用latex編輯pdf的方法

    在VScode上使用latex編輯pdf的方法

    這篇文章主要介紹了在VScode上使用latex編輯pdf的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 密碼哈希函數(shù) Bcrypt的最大密碼長度限制詳解

    密碼哈希函數(shù) Bcrypt的最大密碼長度限制詳解

    這篇文章主要介紹了密碼哈希函數(shù) Bcrypt的最大密碼長度限制詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • ffmpeg播放器實現(xiàn)詳解之視頻顯示(推薦)

    ffmpeg播放器實現(xiàn)詳解之視頻顯示(推薦)

    FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計算機(jī)程序。這篇文章主要介紹了ffmpeg播放器實現(xiàn)詳解視頻顯示,需要的朋友可以參考下
    2020-07-07
  • 計算機(jī)網(wǎng)絡(luò)編程MQTT協(xié)議基礎(chǔ)原理詳解

    計算機(jī)網(wǎng)絡(luò)編程MQTT協(xié)議基礎(chǔ)原理詳解

    這篇文章主要為大家介紹了計算機(jī)編程MQTT協(xié)議的基礎(chǔ)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • 深入分析java與C#底層控制能力區(qū)別及示例詳解

    深入分析java與C#底層控制能力區(qū)別及示例詳解

    這篇文章主要為大家深入分析java與C#底層控制能力不同的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • Cordova插件實現(xiàn)JavaScript與Java的通信的詳細(xì)過程

    Cordova插件實現(xiàn)JavaScript與Java的通信的詳細(xì)過程

    本文將結(jié)合最常用的華為推送服務(wù)Cordova插件,介紹HMS Core用到的JS-Java消息交互方式,講解在JS側(cè)如何調(diào)用Java側(cè)接口,最終實現(xiàn)HMS Core能力,感興趣的朋友一起學(xué)習(xí)下吧
    2021-06-06
  • 深入理解Scala函數(shù)式編程過程

    深入理解Scala函數(shù)式編程過程

    這篇文章主要介紹了深入理解Scala函數(shù)式編程過程的相關(guān)資料,希望通過本文能幫助到大家,讓大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 好玩又實用的查看函數(shù)圖像網(wǎng)站Desmos

    好玩又實用的查看函數(shù)圖像網(wǎng)站Desmos

    這個網(wǎng)站的最大優(yōu)點,就是省去了安裝數(shù)學(xué)繪圖軟件或計算軟件的麻煩,只要打開瀏覽器就能使用了??戳私榻B之后,可別忘了把這個好網(wǎng)站加到書簽
    2021-08-08
  • 單點登錄的三種實現(xiàn)方式

    單點登錄的三種實現(xiàn)方式

    這篇文章主要介紹了單點登錄的三種實現(xiàn)方式,幫助大家建立網(wǎng)站,優(yōu)化網(wǎng)站體驗,感興趣的朋友可以了解下
    2020-09-09

最新評論

尼玛县| 巩义市| 诸城市| 武安市| 韶山市| 轮台县| 敦化市| 重庆市| 泸水县| 论坛| 朝阳市| 嘉鱼县| 澎湖县| 泰州市| 龙口市| 襄樊市| 确山县| 枣庄市| 晋江市| 乐山市| 大冶市| 郑州市| 北票市| 左权县| 晋城| 金秀| 罗甸县| 夏津县| 临江市| 湾仔区| 盐池县| 台南县| 泾阳县| 湟中县| 西昌市| 万年县| 康保县| 凤山县| 侯马市| 东安县| 滦平县|