Json 支付失败时使用什么HTTP代码响应?

Json 支付失败时使用什么HTTP代码响应?,json,http,payment-processing,Json,Http,Payment Processing,处理付款/处理信用卡时使用什么HTTP代码 例如: 资金不足 无法检索资金(未给出原因时) 信用卡过期 我正在发送一个JSON响应,所以我不介意太多,但我想知道什么是正确的代码使用。首先,重要的是要区分 由客户端和 由服务器端问题引起的其他问题 后者通常描述客户端无法自行解决的错误 在400系列中,第一个应具有状态代码。由服务器端引起的其他故障应在500系列上具有状态代码 我的建议 资金不足 我建议使用400(错误请求)和一条有意义的错误消息 无法检索资金(未给出原因时) 500(i

处理付款/处理信用卡时使用什么HTTP代码

例如:

  • 资金不足
  • 无法检索资金(未给出原因时)
  • 信用卡过期

我正在发送一个JSON响应,所以我不介意太多,但我想知道什么是正确的代码使用。

首先,重要的是要区分

  • 由客户端和
  • 由服务器端问题引起的其他问题
  • 后者通常描述客户端无法自行解决的错误

    在400系列中,第一个应具有状态代码。由服务器端引起的其他故障应在500系列上具有状态代码

    我的建议

    • 资金不足

      • 我建议使用
        400
        (错误请求)和一条有意义的错误消息
    • 无法检索资金(未给出原因时)

      • 500
        (internat服务器错误),如果根本原因显然是服务器端
      • 503
        (服务不可用),如果可以确定某些必要的web服务暂时不可用。
        503
        背后的含义是,此错误是临时性的,鼓励客户端稍后重试相同的请求
      • 400
        (错误请求)如果根本原因是客户端的无效请求
    • 信用卡过期

      • 同样,我建议
        400
        (错误请求)+错误消息

    可以找到返回代码的完整列表

    即使外部API关闭,您也会使用503吗?(如Stripe、Paypal等)如果外部API的不可用性使您的API也无法为请求提供服务,则选择“是”。如果是这种情况,我建议使用503