Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Zahlungsabwicklungs-Konzepte

Die Payment Request API erleichtert die Abwicklung von Zahlungen in einer Website oder App. In diesem Artikel betrachten wir, wie die API funktioniert und was jeder ihrer Bestandteile tut.

Terminologie

Bevor wir uns mit den Details beschäftigen, wie die API funktioniert, gibt es einige Begriffe, die Sie kennen sollten.

Zahlungsempfänger (oder Händler)

Der Händler—entweder eine Person oder eine Organisation—dessen Website oder App über die Payment Request API Geld erhalten möchte.

Zahler

Die Person oder Organisation, die einen Kauf über eine Website oder App tätigt. Der Zahler authentifiziert sich selbst und autorisiert die Zahlung, wie es die Zahlungsmethode erfordert.

Zahlungsmethode

Das Instrument, mit dem die Zahlung eingereicht wird, zum Beispiel eine Kreditkarte oder ein Online-Bezahldienst.

Zahlungsdienstanbieter

Eine Organisation, die die Technologie bereitstellt, um Zahlungen mit einer bestimmten Zahlungsmethode zu übermitteln. Zum Beispiel ist beim Bezahlen mit Kreditkarte der Kreditkartenabwicklungsdienst der Zahlungsdienstanbieter.

Zahlungshandler

Die Implementierung des Codes, der zur Schnittstellenbildung mit einem bestimmten Zahlungsdienstanbieter erforderlich ist, um Zahlungen zu bearbeiten.

Einige Zahlungshandler verwenden Händlervalidierung, bei der die Identität eines Händlers auf irgendeine Weise überprüft wird, meist mithilfe einer kryptografischen Antwort wie einem öffentlichen Schlüssel. Validierte Händler dürfen mit einem Zahlungshandler interagieren.

Zahlungsidentifikatoren

Zahlungshandler werden durch Zahlungsmethodenidentifikatoren identifiziert, die Zeichenfolgen sind, die den Zahlungshandler eindeutig identifizieren. Diese können entweder standardisierte Zahlungsmethodenidentifikatoren sein oder eine URL, die vom Zahlungsdienst verwendet wird, um sich sowohl selbst zu identifizieren als auch Zahlungen zu bearbeiten.

Standardisierte Zahlungsmethodenidentifikatoren

Standardisierte Zahlungsmethodenidentifikatoren sind diejenigen, die im Zahlungsmethodenregister aufgeführt sind.

secure-payment-confirmation

Identifiziert die Secure Payment Confirmation Methode. Die Zahlungsanforderungsdaten für diese Methode werden im SecurePaymentConfirmationRequest Wörterbuch definiert. Weitere Informationen finden Sie unter Using Secure Payment Confirmation.

basic-card

Dieser Zahlungsmethodenidentifikator war vorgesehen, um kartenbasierte Zahlungen im Web über die Payment Request API zu erleichtern. Die Web Payments Working Group hat diese Zahlungsmethode abgelehnt.

URL-basierte Zahlungsmethodenidentifikatoren

Diese Identifikatoren werden typischerweise von Zahlungsanbietern während des Onboardings oder der Integration bereitgestellt und können je nach spezifischen Dienstleistungen, API-Version und Kommunikationstechnologie erheblich variieren. Entwickler erhalten diese Identifikatoren normalerweise direkt aus der Dokumentation ihres gewählten Zahlungsdienstanbieters und entdecken sie nicht eigenständig.

https://apple.com/apple-pay

Zahlungen werden über den Apple Pay Dienst abgewickelt. Diese Zahlungsmethode wird primär in Safari auf kompatiblen Apple-Geräten unterstützt.

https://google.com/pay

Zahlungen werden durch Google Pay verarbeitet. Die Unterstützung hängt von Browsern ab, die die Payment Handler API implementieren (derzeit hauptsächlich auf Chromium basierende Browser).

Funktionen eines Zahlungshandlers

Ein User-Agent kann integrierte Unterstützung für bestimmte Zahlungsarten bieten. Darüber hinaus kann die Payment Handler API verwendet werden, um die Unterstützung für zusätzliche Zahlungsdienstleister in Browsern zu etablieren, die sie unterstützen. In beiden Fällen ist der Zahlungshandler verantwortlich für:

  1. Sicherstellen, dass eine Zahlung durchgeführt werden kann. Die Bedingungen, die eine Zahlung ermöglichen, variieren je nach Zahlungsmethode und der Zahlungsanforderung des Benutzers; zum Beispiel, wenn der Benutzer eine Kreditkarte wählt, die vom Empfänger nicht akzeptiert wird, kann die Zahlung nicht durchgeführt werden.
  2. Antworten auf Händlervalidierungsanfragen des User-Agents, wenn vom Zahlungshandler unterstützt. Siehe Händlervalidierung für Details.
  3. Verifizierung, dass die vom Benutzer bereitgestellten Informationen zu einer gültigen Transaktion führen. Dies führt zur Erstellung und Rückgabe eines zahlungsmethodenspezifischen Objekts, das die Informationen enthält, die zur Abwicklung der Transaktion erforderlich sind.

Händlervalidierung

Einige Zahlungshandler verwenden Händlervalidierung, bei der die Identität eines Händlers auf irgendeine Weise überprüft wird, meist mithilfe einer kryptografischen Herausforderung. Wenn der Händler nicht erfolgreich validiert wird, darf er den Zahlungshandler nicht verwenden.

Die genaue Validierungstechnologie hängt vom Zahlungshandler ab, und die Händlervalidierung ist völlig optional. Am Ende ist die einzige Verantwortung der Website oder App, den Validierungsschlüssel des Händlers abzurufen und in die Methode complete() des Ereignisses einzufügen.

js
paymentRequest.onmerchantvalidation = (event) => {
  event.complete(fetchValidationData(event.validationURL));
};

In diesem Beispiel ist fetchValidationData() eine Funktion, die die spezifischen Identifikationsinformationen des Zahlungshandlers von der durch validationURL angegebenen Adresse lädt. Beachten Sie, dass diese Funktion über den Händler-Server laufen muss, da ein Client in der Regel nicht direkt auf die Validierungs-URL zugreift.

Indem diese Daten (oder ein Promise, das sich zu den geladenen Daten auflöst) dem Zahlungshandler übergeben werden, indem sie in complete() eingefügt werden, kann der Zahlungshandler die abgerufenen Daten und alle weitere benötigten Algorithmen und Daten verwenden, um zu verifizieren, dass der Händler den Zahlungshandler nutzen kann.

Daher ist es wichtig zu beachten, dass der User-Agent niemals ein merchantvalidation Ereignis sendet, es sei denn, der User-Agent selbst implementiert einen Zahlungshandler. Beispielsweise hat Safari integrierte Unterstützung für Apple Pay, sodass der Apple Pay Zahlungshandler dies verwendet, um sicherzustellen, dass Apple Pay den Händler bezahlen kann, indem er merchantvalidation an den Client sendet und ihn anweist, die Validierungsdaten des Servers abzurufen und dem Zahlungshandler durch Aufruf von complete() zu übermitteln.

Spezifikationen

Spezifikation
Payment Request API
Payment Method Identifiers

Siehe auch