Ответ
HTTP-статус 402 Payment Required (Требуется оплата) — это код ответа сервера, указывающий, что запрашиваемый ресурс или действие доступны только после осуществления платежа. Этот статус зарезервирован для будущего использования и на практике применяется редко.
Смысл и контекст: Статус определен в RFC 7231, но его семантика и поведение не стандартизированы так же детально, как у 200 или 404. Это означает, что сервер должен дополнительно передать информацию о том, как произвести оплату (например, в теле ответа или заголовках).
Где может встречаться:
- Платные API: После исчерпания бесплатного квоты запросов.
- Микроплатежи в веб-сервисах: Для доступа к конкретному цифровому контенту.
- Экспериментальные или нишевые протоколы.
Пример HTTP-ответа:
HTTP/1.1 402 Payment Required
Content-Type: application/json
Retry-After: 3600
{
"error": "payment_required",
"message": "Please upgrade your subscription to access this endpoint.",
"upgrade_url": "https://api.service.com/billing/upgrade"
}
Практические нюансы:
- Альтернативы: В большинстве коммерческих API для обозначения необходимости оплаты или превышения лимитов используются статусы:
- 403 Forbidden (с поясняющим сообщением в теле).
- 429 Too Many Requests (для лимитов по частоте запросов).
- Обработка на клиенте: Браузеры не имеют встроенной реакции на 402. Разработчик клиента (мобильного приложения, SPA) должен самостоятельно обработать этот код, перенаправив пользователя на страницу оплаты или показав соответствующее уведомление.