[由於遠程方關閉傳輸流,身份驗證失敗]一次處理支付接口bug記錄


因公司系統升級,出現突然有些銀行卡不能支付的情況,最開始排查發現是第三方平台接口返回有問題:

返回如下:

       

從11月7日下午開始一直聯系第三方,第三方開始排查,一直說是數據格式有問題。

修改格式以后問題同樣出現,又重新調試跟蹤下代碼,發現如下問題:

看錯誤描述應該是判斷是訪問發生問題,又想到了為什么升級以前是好好得,升級以后才出現這個問題?

重新找來官方的demo文檔,重新下單測試,發現又是正常的 ?why?把所有的數據復制到系統來,發現還是不能訪問。。。。

 

 於是把系統中的請求數據直接寫死:

 

 直接訪問下單頁面 ,OK終於能訪問了,到這以為問題已經解決,估計是數據格式問題,然后就又從下單界面測試了一次,發現又不行了 ,

 我擦,為什么直接訪問接口頁面能夠訪問,通過下單界面調用接口訪問而不行了呢?仍然報錯誤:由於遠程方關閉傳輸流,身份驗證失敗。

 


打開百度,出現很多類似的情況,找到各種處理方法,但是都不能解決,太奇怪了啊。於是想起了用Fiddler試試看,果然在這里出現了問題。

當訪問失敗時請求數據為:

 

當訪問成功時,請求數據為:

 

 兩次采用的ssl加密版本方式居然不一樣,難道是隨機的嗎?太奇葩了吧,修改訪問時,強制采用Tsl/1.0版本的加密方式:

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

問題終於得到解決,然后現在已經是11月8日的下午了。

 

話說:對接的兩個第三方平台,支付都出問題,

一個是java和.net ,對json反序列化不同,導致驗證失敗,他們主要使用java。

一個是沒有設置正確的ssl訪問加密方式,由於第三方平台沒有.NET開發了,他們自己也測試不到。

還有一個支付平台,只有php和java的接口,沒有.NET的接口,暫時還未對接。

怎么感覺使用.NET的突然好像變少了呢?

 


免責聲明!

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



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