状态码及异常处理(重点)
平台服务端采用标准的 HTTP 状态码来向调用者反馈调用状态和提示信息,主要有:
当接口调用成功时,HTTP 状态码为 200,报文体中是返回给接口调用者的数据,以下注意项;
mis:支付退款状态根据 state 字段区分
其他:支付状态根据 state 字段区分,退款无需判断结果(200 即为成功)
当接口调用失败时,HTTP 状态码不为 200,报文体中是反馈给接口调用者的具体出错信息,注意项及结构如下:
mis 和其他:认为失败,后续处理由调用方决定,如需再次发起退款需重新生成调用方流水号(callerSN),再次发起支付需重新下单。
{
"details": {},
"error": "appid或密钥错误"
}
当 HTTP 状态码不为 200 时,其含义与标准 HTTP 状态码含义基本一致,主要有:
- 400 INVALID REQUEST 请求错误,如必要参数缺失、格式不正确等;
- 401 Unauthorized 未授权,如调用者未经认证或 TOKEN 失效等;
- 403 Forbidden 禁止访问,表示调用方没有调用此接口的权限;
- 404 NOT FOUND 不存在,通常是调用者写错接口路径导致的;
- 408 Request Timeout 请求超时,通常是调用方与接口服务端的网络连接出现问题造成的;
- 500 INTERNAL SERVER ERROR 服务器内部错误,表示服务端正常接收到了调用方传递的信息,但处理过程中发生了异常;