Zarezerwowany; niektóre API używają go przy problemach z płatnościami.
Kiedy go używać
Osiągnięto limit planu lub płatność się nie powiodła.
Typowe przyczyny i rozwiązania
402 zarezerwowano do przyszłego użytku i nigdy go nie ustandaryzowano, więc jego znaczenie zależy od API. Stripe zwraca 402, gdy karta zostanie odrzucona lub obciążenie się nie powiedzie, z powodem w treści błędu, a Shopify – gdy sklep jest zamrożony z powodu nieopłaconych rachunków. Inne API SaaS używają go, gdy kończy się okres próbny lub osiągnięto limit planu. Czytaj kod błędu w treści, nie tylko status.
Nie ponawiaj 402 automatycznie: błąd nie zniknie, dopóki ktoś nie zaktualizuje danych płatności lub nie zmieni planu na wyższy, więc pokaż go człowiekowi z linkiem do strony rozliczeń. Jeśli projektujesz API, 402 to rozsądny wybór dla blokad związanych z płatnościami, odrębny od 403 dla uprawnień i 429 dla limitów żądań, ale udokumentuj go, bo ogólne klienty traktują go po prostu jako nieznany błąd 4xx.
Błąd klienta (4xx)
Kody 4xx to błędy klienta: samo żądanie jest błędne, nieautoryzowane albo wskazuje na coś, czego nie ma. Ponowienie tego samego żądania nic nie da.
Jak to wygląda
HTTP/1.1 402 Payment RequiredJak go wysłać
| Node.js / Express | res.status(402).end() |
|---|---|
| Python / Flask | return '', 402 |
| nginx | return 402; |
Jak go sprawdzić
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/