402 支付所需
HTTP **402 Payment Required
** 客户端错误响应 状态码是 **非标准** 响应状态码,保留供将来使用。
该状态码的创建是为了启用数字现金或(微)支付系统,并表明请求的内容在客户端付款之前不可用。没有标准的使用约定,不同的系统在不同的上下文中使用它。
状态
http
402 Payment Required
示例
支付 API 故障
某些支付 API 使用 402 响应作为对失败的支付请求的通用捕获所有错误。以下示例尝试使用 POST 请求来调用支付 API 以启动交易
http
POST /merchant/transfers/payment HTTP/1.1
Host: payments.example.com
Content-Type: application/json
Content-Length: 402
{
"payment_transfer": {
"reference": "PAYMENT123456",
"amount": "1337",
"currency": "EUR",
"sender_account_uri": "pan:5299920000000149;exp=2020-08;cvc=123",
"sender": {
"first_name": "Brian",
"middle_name": "Smith",
"email": "[email protected]"
},
"recipient": {
"first_name": "John",
"middle_name": "Tyler",
"email": "[email protected]",
"merchant_id": "123"
},
"authentication_value": "ucaf:jJJLtQa+Iws8AREAEbjsA1MAAAA",
}
}
如果交易出现问题,服务器将使用 402 响应请求,在本例中,卡已过期
http
HTTP/1.1 402 Payment Required
Date: Tue, 02 Jul 2024 12:56:49 GMT
Content-Type: application/json
Content-Length: 175
{
"error": {
"code": "expired_card",
"doc_url": "https://example.com/error-codes#expired-card",
"message": "The card has expired. Verify expiration or use a different card.",
}
}
规范
规范 |
---|
HTTP 语义 # status.402 |
兼容性说明
此状态码是 *保留的*,但未定义。实际实现中响应的格式和内容会有所不同。没有浏览器支持 402,错误将显示为通用的 4xx
状态码。