Funktionsweise der Payment Request API

Hier erfahren Sie, wie die Payment Request API funktioniert.

Payment Request API

Wenn ein Kunde versucht, etwas auf Ihrer Website zu kaufen, muss er auf der Website Zahlungsinformationen und optional weitere Informationen wie Versandpräferenzen angeben. Mit der Payment Request API (PR API) ist das ganz einfach und schnell möglich.

Grundstruktur

Für das Erstellen eines PaymentRequest-Objekts sind zwei Parameter erforderlich: Zahlungsmethoden und Zahlungsdetails. Optional ist außerdem ein dritter Parameter payment options. Eine einfache Anfrage könnte so erstellt werden:

const request = new PaymentRequest(paymentMethods, paymentDetails);

Sehen wir uns an, wie die einzelnen Parameter erstellt und verwendet werden.

Zahlungsmethoden

Der erste Parameter, paymentMethods, ist eine Liste der unterstützten Zahlungsmethoden in einer Arrayvariablen. Jedes Element im Array besteht aus zwei Komponenten: supportedMethods und optional data.

Für supportedMethods muss der Händler eine Zahlungsmethoden-ID angeben, z. B. https://bobbucks.dev/pay. Das Vorhandensein und der Inhalt von data hängen vom Inhalt von supportedMethods und vom Design des Anbieters der Zahlungs-App ab.

Beide Informationen sollten vom Anbieter der Zahlungs-App bereitgestellt werden.

// Supported payment methods
const paymentMethods = [{
  supportedMethods: 'https://bobbucks.dev/pay',
  data: {
    ... // Optional parameters defined by the payment app provider.
  }
}];

Zahlungsdetails

Der zweite Parameter, paymentDetails, wird als Objekt übergeben und gibt Zahlungsdetails für die Transaktion an. Er enthält den erforderlichen Wert total, der den vom Kunden zu zahlenden Gesamtbetrag angibt. Optional können mit diesem Parameter auch die gekauften Artikel aufgeführt werden.

Im folgenden Beispiel sind die optional gekauften Artikel (in diesem Fall nur ein Artikel) und der erforderliche Gesamtbetrag zu sehen. In beiden Fällen wird die Währungseinheit für jeden einzelnen Betrag angegeben.

const paymentDetails = {
  displayItems: [{
    label: 'Anvil L/S Crew Neck - Grey M x1',
    amount: { currency: 'USD', value: '22.15' }
  }],
  total: {
    label: 'Total due',
    amount: { currency: 'USD', value : '22.15' }
  }
};

Prüfen, ob die Zahlungsmethode verfügbar ist

Chrome prüft beim Erstellen eines PaymentRequest-Objekts, ob der Nutzer und die Umgebung für die Zahlung bereit sind.

Rufe canMakePayment() auf, bevor du den Zahlungsvorgang aufrufst, um zu prüfen, ob der Nutzer und die Umgebung für die Zahlung bereit sind. Wenn der Browser mindestens eine im Objekt angegebene Zahlungsmethode unterstützt, wird beim Aufrufen von canMakePayment() true zurückgegeben.

request.canMakePayment().then(result => {
  if (result) {
    // This browser supports the specified payment method.
  } else {
    // This browser does NOT support the specified payment method.
  }
}).catch(e => {
  // An exception
});

Weitere Informationen zu PaymentRequest.canMakePayment() in der MDN

Die Methode show()

Nachdem Sie die beiden Parameter festgelegt und das request-Objekt wie oben gezeigt erstellt haben, können Sie die Methode show() aufrufen, wodurch die Benutzeroberfläche der Zahlungs-App angezeigt wird.

request.show().then(response => {
  // [process payment]
  // send to a PSP etc.
  response.complete('success');
});

Wie die Benutzeroberfläche der Zahlungs-App aussieht, liegt im alleinigen Ermessen des Anbieters der Zahlungs-App. Nachdem der Kunde einer Zahlung zugestimmt hat, wird ein JSON-Objekt mit allen erforderlichen Informationen zur Überweisung an den Händler übergeben. Der Händler kann sie dann an den PSP senden, um die Zahlung zu verarbeiten.

Schließen Sie die Benutzeroberfläche für Zahlungsanfragen abschließend mit response.complete('success') oder response.complete('fail') ab, je nachdem, welches Ergebnis der PSP zurückgibt.

Nächster Schritt

Weitere Informationen zu Webzahlungen