ServiceWorkerGlobalScope: paymentrequest-Ereignis

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

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

Hinweis: Dieses Feature ist nur verfügbar in Service Workers.

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

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

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

onpaymentrequest = (event) => {};

Ereignistyp

Beispiele

Wenn die PaymentRequest.show()-Methode aufgerufen wird, wird ein paymentrequest-Ereignis im Service Worker der Zahlungs-App ausgelöst. Dieses Ereignis wird im Service Worker der Zahlungs-App abgehört, um den nächsten Schritt des Zahlungsprozesses zu starten.

js
let payment_request_event;
let resolver;
let client;

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

  // ...
});

Wenn ein paymentrequest-Ereignis empfangen wird, kann die Zahlungs-App ein Zahlungs-Handler-Fenster öffnen, indem sie PaymentRequestEvent.openWindow() aufruft. Das Zahlungs-Handler-Fenster präsentiert den Kunden eine Oberfläche der Zahlungs-App, in der sie sich authentifizieren, die Lieferadresse und Optionen auswählen und die Zahlung autorisieren können.

Sobald die Zahlung bearbeitet wurde, wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis zurück an die Händler-Website zu übermitteln.

Weitere Informationen zu diesem Schritt finden Sie unter Receive a payment request event from the merchant.

Spezifikationen

Specification
Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch