HTTP 402
# HTTP 402

Der HTTP Status Code 402, auch bekannt als „Payment Required“, ist ein Standard-Antwortstatuscode im Hypertext Transfer Protocol (HTTP). Er ist Teil des HTTP/1.1-Protokolls, das von der Internet Engineering Task Force (IETF) im spezifiziert wurde.

## Beschreibung

Der Statuscode HTTP 402 zeigt an, dass der Kunde eine Zahlung leisten muss, um auf die angeforderte Ressource zugreifen zu können. Er wird in der Regel in Situationen verwendet, in denen der Server eine Zahlung verlangt, bevor er den Zugriff auf den Inhalt oder Dienst gewährt. Dieser Code dient als Erinnerung daran, dass eine finanzielle Transaktion oder Autorisierung erforderlich ist, um fortzufahren.

Der Statuscode 402 gilt als nicht standardisiert und wurde eingeführt, um die Möglichkeiten des HTTP-Protokolls über den Standardsatz von Statuscodes hinaus zu erweitern. Er gibt dem Kunden einen klaren Hinweis darauf, dass er etwas unternehmen muss, um den Zahlungsvorgang abzuschließen, bevor er auf die angeforderte Ressource zugreifen kann.

## Verwendung

Der HTTP-Statuscode 402 wird in der Regel in E-Commerce- und abonnementbasierten Systemen verwendet, bei denen der Zugang zu Inhalten oder Diensten eingeschränkt ist, bis der Benutzer eine Zahlung geleistet hat. Er kann in verschiedenen Szenarien verwendet werden, wie z. B.:

* Abonnement-Verlängerung: Wenn das Abonnement eines Nutzers ausläuft und er versucht, auf Premium-Inhalte zuzugreifen, kann der Server mit einem Statuscode 402 antworten, um den Nutzer aufzufordern, sein Abonnement zu erneuern.
* Paywalls: Websites, die von ihren Nutzern eine Zahlung verlangen, um auf bestimmte Artikel, Nachrichteninhalte oder Premium-Funktionen zugreifen zu können, können den Statuscode 402 verwenden, um anzuzeigen, dass eine Zahlung erforderlich ist, um fortzufahren.
* Digitale Produkte: Online-Plattformen, die digitale Produkte, Softwarelizenzen oder digitale Medien-Downloads verkaufen, können den Statuscode 402 verwenden, um eine Zahlung zu erzwingen, bevor der Zugriff auf das gekaufte Produkt gewährt wird.

## Darstellung Antwort

Die HTTP 402-Antwort wird von einem Entity Body begleitet, der dem Kunden zusätzliche Informationen zu den Zahlungsanforderungen liefert. Dieser Entity Body kann in verschiedenen Formaten vorliegen, z. B. HTML, XML oder JSON, und enthält in der Regel Einzelheiten wie den Zahlungsbetrag, die akzeptierten Zahlungsmethoden und Anweisungen zum Abschluss der Transaktion.

Der Server kann auch relevante Kopfzeilen in die Antwort aufnehmen, wie z. B. Retry-After, das die Zeitdauer angibt, die der Client warten sollte, bevor er die Anfrage nach Abschluss des Zahlungsvorgangs erneut stellt.

## Beziehung zu anderen Statuscodes

Der HTTP-Statuscode 402 ist nicht zu verwechseln mit dem häufiger verwendeten 403 Forbidden-Statuscode. Beide Codes zeigen zwar an, dass der Zugang zu einer Ressource eingeschränkt ist, der Unterschied liegt jedoch im Grund für die Einschränkung. Der 402-Code bedeutet, dass eine Zahlung erforderlich ist, während der 403-Code darauf hinweist, dass der Zugriff aus anderen Gründen verboten ist, z. B. wegen unzureichender Berechtigungen oder fehlgeschlagener Authentifizierung.

In Fällen, in denen der Server eine Zahlung verlangt, aber auch zusätzliche Informationen darüber übermitteln möchte, warum der Zugriff verweigert wird, ist es üblich, den 402-Statuscode neben einem 403-Statuscode anzugeben. Diese Kombination hilft, die Zahlungsanforderung mitzuteilen und dem Kunden mehr Kontext zu liefern.

## Schlussfolgerung

Der HTTP-Statuscode 402 (Zahlung erforderlich) dient als eindeutiger Hinweis für Kunden, dass sie eine Zahlung leisten müssen, bevor sie auf eine bestimmte Ressource oder einen Dienst zugreifen können. Er wird häufig im elektronischen Handel, bei abonnementbasierten Systemen und auf Plattformen verwendet, die Premium-Inhalte oder digitale Produkte anbieten. Durch die Verwendung dieses Statuscodes können Server Zahlungsanforderungen durchsetzen und den Kunden entsprechende Anweisungen geben, was einen reibungslosen Zahlungsvorgang erleichtert.

