常见问题

更新时间:2023.07.25

# 服务器SSL版本说明

由于低版本的SSL存在高危漏洞,需要确认您系统所使用的SSL版本是否需要升级,详细说明请见公众平台SSL安全策略说明 (opens new window)

Java开发可以参考Oracle网站的说明:Oracle Java disable SSL3 (opens new window)

# IPv6相关

如果您的服务器开启了IPv6支持,由于当前互联网对IPv6支持不完整,导致在DNS解析时通常会碰到超时问题;

建议在调用支付API时,显示指定使用IPv4解析。

PHP程序使用curl调用参考代码如下:

1if(defined('CURLOPT_IPRESOLVE')&& defined('CURL_IPRESOLVE_V4'))
2 {
3 curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);
4 }

# 无法连接微信服务器,访问api.mch.weixin.qq.com超时

  1. 是否存在跨运营商访问的情况

    可以ping api.mch.weixin.qq.com查询对应的解析IP

    通过访问ip.138.com获取取口IP,也可以根据商户侧服务器的外网IP确认

  2. 确认java程序使用的HttpClient的版本是否<=4.3.4

    可升级HttpClient到4.3.6版本

  3. 如有疑问,请通过在线技术咨询 (opens new window)联系我们。

# 无法与api.mch.weixin.qq.com域名建立SSL链接

  1. 使用 curl -v https://api.mch.weixin.qq.com/  查看console输出 :
    • 看是否获取到服务器端SSL证书?
    • 看获取到的证书是否过期?
    • 检查命中的IP的443端口是否能telnet通(检查是否有DNS缓存)。
  2. 使用curl -o /dev/null  -s -w %{time_namelookup}:%{time_connect}:%{time_starttransfer}:%{time_total}"\\n" 'https://api.mch.weixin.qq.com/sandbox/orderquery' 来检查HTTPS请求的各阶段耗时,排查定为异常的阶段。