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.
addEventListener("paymentrequest", (event) => {});
onpaymentrequest = (event) => {};
Ereignistyp
Ein PaymentRequestEvent
. Erbt von ExtendableEvent
.
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.
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