Reservado; usado por algumas APIs para problemas de cobrança.
Quando usar
Limite do plano atingido ou falha no pagamento.
Causas comuns e soluções
O 402 foi reservado para uso futuro e nunca padronizado, então o significado depende da API. A Stripe retorna 402 quando um cartão é recusado ou uma cobrança falha, com o motivo no corpo do erro, e a Shopify o retorna quando uma loja é congelada por contas não pagas. Outras APIs SaaS o usam quando um período de teste termina ou um limite do plano é atingido. Leia o código de erro no corpo, não só o status.
Não repita o 402 automaticamente: ele não se resolve até alguém atualizar o pagamento ou fazer upgrade do plano, então mostre-o a uma pessoa com um link para a página de cobrança. Se você está projetando uma API, o 402 é uma escolha razoável para bloqueios de cobrança, distinto do 403 para permissões e do 429 para limites de taxa, mas documente-o, porque clientes genéricos o tratam apenas como um erro 4xx desconhecido.
Erro do cliente (4xx)
Os códigos 4xx são erros do cliente: a própria requisição está errada, não está autorizada ou aponta para algo que não existe. Repetir a mesma requisição não vai adiantar.
Como fica
HTTP/1.1 402 Payment RequiredComo enviar
| Node.js / Express | res.status(402).end() |
|---|---|
| Python / Flask | return '', 402 |
| nginx | return 402; |
Como verificar
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/