402 Payment Required

Reserviert; manche APIs nutzen ihn bei Abrechnungsproblemen.

Wann du ihn verwendest

Tariflimit erreicht oder Zahlung fehlgeschlagen.

Häufige Ursachen und Lösungen

402 war für künftige Verwendung reserviert und wurde nie standardisiert, daher hängt seine Bedeutung von der API ab. Stripe gibt 402 zurück, wenn eine Karte abgelehnt wird oder eine Belastung fehlschlägt, mit dem Grund im Fehler-Body, und Shopify, wenn ein Shop wegen unbezahlter Rechnungen eingefroren ist. Andere SaaS-APIs nutzen ihn, wenn eine Testphase endet oder ein Tariflimit erreicht ist. Lies den Fehlercode im Body, nicht nur den Status.

Wiederhole 402 nicht automatisch: Der Fehler verschwindet erst, wenn jemand die Zahlungsdaten aktualisiert oder den Tarif upgradet, also zeig ihn einem Menschen mit einem Link zur Abrechnungsseite. Wenn du eine API entwirfst, ist 402 eine vernünftige Wahl für Sperren wegen offener Zahlungen, getrennt von 403 für Berechtigungen und 429 für Rate Limits, aber dokumentiere es, denn generische Clients behandeln ihn einfach als unbekannten 4xx-Fehler.

Client-Fehler (4xx)

4xx-Codes sind Client-Fehler: Die Anfrage selbst ist fehlerhaft, nicht autorisiert oder verweist auf etwas, das es nicht gibt. Dieselbe Anfrage erneut zu senden hilft nicht.

So sieht es aus

HTTP/1.1 402 Payment Required

So sendest du ihn

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

So prüfst du ihn

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

HTTP-Statuscodes öffnen