http状态码整体分类
- 2xx 报文规范并且业务规则校验通过,需结合响应体判断业务状态(204不用)
- 4xx 客户端错误 联调过程中 参数不规范,签名未通过, 查询场景传了不存在的订单号等, 业务校验未通过
- 5xx 服务端错误 服务端发生了未知错误,返回系统繁忙
常用Http状态码:
| 状态码 | 状态描述 | 场景 | 一般的解决方案 | 典型错误码示例 |
|---|---|---|---|---|
| 200 - OK | 处理成功 注意,此处成功需要解析具体的响应body数据来判断业务的最终状态 |
签名通过,业务参数校验通过,正常触发业务逻辑 | / | |
| 202 - Accepted | 服务器已接受请求,但尚未处理 | 批量接口,宝付正常受理,后台异步处理请求 | 调用查询接口或等待通知 | / |
| 204 - No Content | 处理成功,无返回Body | 比如关单场景,关单成功,只响应204,无body返回. 注意处理业务的时候严格判断http码,例如返回200,但是无body返回 属于异常情况,这里一定是返回204 | / | / |
| 400 - Bad Request | 协议或者参数非法 | 客户端错误: 参数校验失败 | 请根据接口返回的详细信息检查您的程序 | PARAM_ERROR |
| 401 - Unauthorized | 签名验证失败 | 客户端错误: 参数校验失败 | 请检查签名参数和方法是否都符合签名算法要求 | SIGN_ERROR |
| 402 - Request Fail | 业务错误 | 业务错误 | 具体排查 | |
| 403 - Forbidden | 权限异常 | 客户端错误: 商户状态异常 或者 产品未开通 | 请开通商户号相关权限。请联系产品或商务申请 | NO_AUTH |
| 404 - Not Found | 请求的资源不存在 | 资源不存在(订单、合同、进件场景的进件子商户等) | 请商户检查需要查询的ID或者请求URL是否正确 | |
| 405 - Method Not Allowed | 请求方式不正确 | Http请求方法不匹配 | 请商户检查使用的请求方式是否符合接口文档要求 | / |
| 429 - Too Many Requests | 请求超过频率限制 | 触发限流 | 请求未受理,请降低操作频率后重试。若为退款场景,此情况并非明确的”未受理”,建议先查询订单状态确认,或稍后通过原订单重试 | RATELIMIT_EXCEEDED |
| 500 - Server Error | 系统错误 | 服务端发生未知异常 | 按具体接口的错误指引进行重试 | SYSTEM_ERROR |
| 502 - Bad Gateway | 服务下线,暂时不可用 | 后端服务在维护,或者该接口已过时 | 请求无法处理,请稍后重试 | SERVICE_UNAVAILABLE |
| 503 - Service Unavailable | 服务不可用,过载保护 | 服务端过载保护 | 请求无法处理,请稍后重试 | SERVICE_UNAVAILABLE |