REST API中接受/拒绝付款的HTTP代码

时间:2015-05-26 13:23:43

标签: api rest http

在REST API中,在付款方式中(用户提供其信用卡信息),如果付款失败,我应该返回200 (对于信用卡过期或余额太低的问题),附加消息+自定义JSON中的其他错误代码?或者还有其他任何HTTP代码吗?

我没有找到有关此特定案例的任何信息,我刚刚找到了402付款代码,但它似乎并不是针对这种情况设计的。我不是在谈论服务器(500)错误或无法访问的银行,而是由于用户卡导致的付款问题。

2 个答案:

答案 0 :(得分:0)

“付款失败”是什么意思?我可以想到几个不同的场景,其中许多可能需要不同的状态代码来反映实际状态。

这完全取决于API的其余部分如何工作。如果您已在响应正文中使用JSON对象,则可以为任何操作报告200 OK:

HTTP/1.1 200 OK
...

{ 
    success: false,
    message: "Balance too low"
}

如果您不想这样,任何适用的4xx或5xx错误都可以。尝试搜索。

答案 1 :(得分:0)

我认为您应该使用406代码。

Code-406

Message-Not Acceptable

Description-Insufficient funds or other payment problem.