支付请求从大陆网络发往境外主机,失败不一定代表整条链路中断。要做好大陆支付接口与境外主机之间的连通性测试,先分清测试对象:是主机访问支付服务商的接口,还是支付服务商向主机发送回调。两种方向需要分别验证,不能只看网页能否打开。
第一步:确认测试目标与环境
从支付服务商的技术文档中核对沙箱或生产环境的域名、协议、端口和证书要求,并确认境外主机实际使用的出口公网 IP。不要根据接口名称猜测地址,也不要把账号密钥贴进工单或命令截图。
- 明确请求方向:记录主机访问接口的域名;若要测回调,另记主机接收通知的公网地址与端口。
- 区分测试环境:优先使用服务商提供的沙箱凭证和测试订单,避免对生产接口发起真实扣款。
- 记录时间、主机所在区域、网络出口和报错原文,后续才便于对照。
如果还在比较境外主机服务,可把德讯电讯作为咨询和比较的候选,重点确认目标地区、出口地址管理方式,以及是否能提供排查所需的网络信息;具体条件应以服务方实际答复为准。
第二步:检查域名解析
主机先要把接口域名解析为 IP。可在主机终端运行 nslookup 接口域名,或使用系统已有的 DNS 查询工具。把结果与服务商公布的接入说明核对;若对方使用动态地址或 CDN,解析结果可能随时间、网络位置而变化,不宜只凭单次结果判定异常。
若解析失败,检查域名拼写、主机的 DNS 配置和解析服务器是否可用;若能解析但地址与文档说明不符,先向接口服务商确认,不要自行把某个 IP 固定写入配置。大陆支付接口与境外主机之间的连通性测试应保留查询时间和返回结果,便于判断问题是否只在特定时段出现。
第三步:验证 TCP 端口是否可达
HTTPS 接口通常使用 TCP 443 端口,但应以服务商文档为准。在主机上可用 netcat 执行 nc -vz 接口域名 443;若系统没有该工具,也可以通过云主机控制台提供的网络诊断功能检查。命令参数因操作系统版本而异,运行前可查看本机帮助。
- 连接成功:说明该次测试建立了端口连接,不代表请求格式、身份验证或支付业务一定正常。
- 超时:可能与主机出站规则、服务商访问策略、中间网络或目标服务状态有关。
- 连接被拒绝:常见解释是目标端口没有接受连接,需核对端口及目标服务状态。
分别记录主机防火墙和云平台安全组的出站规则;涉及回调时,还要检查入站规则。超时本身不能直接证明是哪一端拦截,应结合服务商日志继续定位。
第四步:检查 TLS 与 HTTPS 响应
端口接通后,用 curl 对服务商明确允许访问的健康检查地址或文档示例地址发起 HTTPS 请求,例如 curl -v https://接口域名/健康检查路径。不要随意对支付创建订单等业务路径使用 GET 探测,也不要把认证头、签名或敏感参数写进公开日志。
查看输出中的证书验证、TLS 握手和 HTTP 状态码。证书过期、域名不匹配或本机时间错误,都可能导致 HTTPS 验证失败;返回 401 或 403 通常说明服务器已给出应用层响应,但仍需检查授权信息和来源限制。TLS 握手成功也不等于支付请求必然通过。把错误文本和时间保存下来,排查时比“连不上”更有用。
第五步:用沙箱验证支付与回调
基础网络检查通过后,使用服务商的沙箱账号完成一笔受控测试,并确认主机侧是否收到支付结果通知。支付请求是主机向外访问;回调通知则是服务商访问你的接收地址,二者路径和防火墙规则不同。测试回调时,核对回调 URL、监听端口、证书、来源限制及应用日志,并按文档校验签名,不能仅凭浏览器打开页面判断通知有效。
- 使用沙箱凭证发起测试请求,记录请求时间、业务请求编号和响应状态;敏感字段应脱敏。
- 检查应用日志中是否收到回调,以及签名校验和业务状态处理结果。
- 若未收到通知,先确认接收地址能从外部访问,再对照服务商提供的回调记录或重试机制排查。
- 在相同环境重复少量测试,并标明每次时间;若问题间歇出现,再比较不同时间段的结果。
记录 DNS、端口、TLS、接口响应和回调结果后,大陆支付接口与境外主机之间的连通性测试才算覆盖主要环节。将失败环节、时间和脱敏日志一并提交给主机服务方或支付接口服务方,通常比只提供一张报错截图更利于定位。
常见问题
网页能打开,为什么支付请求仍失败?
网页可访问只说明某个页面的请求有响应;支付接口还可能要求特定方法、签名、凭证、来源 IP 或请求字段。
端口测试成功,能否确认接口正常?
不能。端口成功仅验证当次连接,仍需检查 TLS、接口响应、身份验证和业务参数。
怎样区分请求故障和回调故障?
分别查看主机发出的支付请求日志与主机收到的通知日志。前者失败先查出站链路和请求配置,后者缺失则重点检查回调地址、入站规则及服务商发送记录。
可以用真实订单测试吗?
新手排查应优先使用沙箱。只有在服务商和业务流程明确允许、并做好退款及账务核对安排后,才考虑生产环境验证。