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

View in English Always switch to English

ServiceWorkerGlobalScope: paymentrequest-Ereignis

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist nur in Service Workers verfügbar.

Das paymentrequest-Ereignis der Schnittstelle ServiceWorkerGlobalScope wird in einer Zahlungs-App ausgelöst, wenn auf der Website des Händlers über die Methode PaymentRequest.show() ein Zahlungsvorgang eingeleitet wurde.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

js
addEventListener("paymentrequest", (event) => { })

Alternativ können Sie der Ereignisbehandlungseigenschaft der Schnittstelle einen Wert zuweisen:

js
onpaymentrequest = (event) => { }

Ereignistyp

Ein PaymentRequestEvent. Erbt von ExtendableEvent.

Event ExtendableEvent PaymentRequestEvent

Beispiele

Wenn die Methode PaymentRequest.show() aufgerufen wird, wird im Service Worker der Zahlungs-App ein paymentrequest-Ereignis ausgelöst. Der Service Worker der Zahlungs-App verarbeitet dieses Ereignis, um die nächste Phase des Zahlungsvorgangs zu beginnen.

js
let paymentRequestEvent;
const resolver = Promise.withResolvers();
let client;

// `self` is the global object in service worker
self.addEventListener("paymentrequest", async (e) => {
  if (paymentRequestEvent) {
    // If there's an ongoing payment transaction, reject it.
    resolver.reject();
  }
  // Preserve the event for future use
  paymentRequestEvent = e;

  // …
});

Wenn ein paymentrequest-Ereignis empfangen wird, kann die Zahlungs-App durch Aufrufen von PaymentRequestEvent.openWindow() ein Fenster für die Zahlungsabwicklung öffnen. In diesem Fenster wird Kunden die Benutzeroberfläche der Zahlungs-App angezeigt. Dort können sie sich authentifizieren, eine Versandadresse und Versandoptionen auswählen und die Zahlung autorisieren.

Nach der Abwicklung der Zahlung wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis an die Website des Händlers zurückzugeben.

Weitere Informationen zu dieser Phase finden Sie unter Ein Zahlungsanforderungsereignis vom Händler empfangen.

Spezifikationen

Spezifikation
Web-based Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

Siehe auch