ServiceWorkerGlobalScope: paymentrequest Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 des ServiceWorkerGlobalScope Interfaces wird in einer Zahlungs-App ausgelöst, wenn ein Zahlungsfluss auf der Händler-Website über die Methode PaymentRequest.show() initiiert wurde.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("paymentrequest", (event) => { })
onpaymentrequest = (event) => { }
Ereignistyp
Ein PaymentRequestEvent. Erbt von ExtendableEvent.
Beispiele
Wenn die Methode PaymentRequest.show() aufgerufen wird, wird ein paymentrequest-Ereignis auf dem Service-Worker der Zahlungs-App ausgelöst. Dieses Ereignis wird innerhalb des Service-Workers der Zahlungs-App abgehört, um den nächsten Schritt des Zahlungsprozesses zu beginnen.
let paymentRequestEvent;
let resolver;
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 ein Zahlungsfenster durch Aufrufen von PaymentRequestEvent.openWindow() öffnen. Das Zahlungsfenster präsentiert den Kunden eine Benutzeroberfläche der Zahlungs-App, in der sie sich authentifizieren, eine Versandadresse und Optionen auswählen und die Zahlung autorisieren können.
Nachdem die Zahlung abgewickelt wurde, wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis an die Händler-Website zurückzugeben.
Siehe Empfangen eines Zahlungsanforderungsereignisses vom Händler für weitere Details zu diesem Schritt.
Spezifikationen
| Specification |
|---|
| Web-based Payment Handler API> # the-paymentrequestevent> |