zoukankan      html  css  js  c++  java
  • [由于远程方关闭传输流,身份验证失败]一次处理支付接口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的突然好像变少了呢?

  • 相关阅读:
    S5PV210开发板刷机(SD卡uboot、串口+USB-OTG刷机方法)
    S5PV210启动过程分析
    总结:ARM逻辑和高级C(朱老师物联网学习)
    C语言笔记(数组地址一些细节)
    shell脚本和常用命令
    ansible
    firewalld
    LAMP架构上线动态网站WordPress
    LNMP架构上线动态网站
    Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx
  • 原文地址:https://www.cnblogs.com/eastday/p/6043631.html
Copyright © 2011-2022 走看看