402 Payment Required

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 Required

Jak go wysłać

Node.js / Expressres.status(402).end()
Python / Flaskreturn '', 402
nginxreturn 402;

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP