PaymentRequestEvent
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.
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Die PaymentRequestEvent-Schnittstelle der Payment Handler API ist das Objekt, das an einen Zahlungshandler übergeben wird, wenn eine PaymentRequest erstellt wird.
Konstruktor
PaymentRequestEvent()Experimentell-
Erstellt eine neue
PaymentRequestEvent-Objektinstanz.
Instanzeigenschaften
methodDataSchreibgeschützt Experimentell-
Gibt ein Array von Objekten zurück, das Identifikatoren für die vom Website akzeptierten Zahlungsmethoden und alle zugehörigen zahlungsspezifischen Daten enthält.
modifiersSchreibgeschützt Experimentell-
Gibt ein Array von Objekten zurück, die Änderungen an den Zahlungsdetails enthalten.
paymentRequestIdSchreibgeschützt Experimentell-
Gibt die ID des
PaymentRequest-Objekts zurück. paymentRequestOriginSchreibgeschützt Experimentell-
Gibt den Ursprung zurück, an dem das
PaymentRequest-Objekt initialisiert wurde. topOriginSchreibgeschützt Experimentell-
Gibt den obersten Ursprung zurück, an dem das
PaymentRequest-Objekt initialisiert wurde. totalSchreibgeschützt Experimentell-
Gibt den Gesamtbetrag zurück, der für die Zahlung angefordert wird.
Instanzmethoden
changePaymentMethod()Experimentell-
Erhält einen aktualisierten Gesamtbetrag basierend auf den Zahlungsdetails.
openWindow()Experimentell-
Öffnet die angegebene URL in einem neuen Fenster, nur wenn die angegebene URL denselben Ursprung wie die aufrufende Seite hat. Es gibt ein
Promisezurück, das mit einem Verweis auf einenWindowClientaufgelöst wird. respondWith()Experimentell-
Verhindert die Standard-Ereignisverarbeitung und ermöglicht es Ihnen, selbst ein
Promisefür einPaymentResponse-Objekt bereitzustellen.
Beispiele
Wenn die Methode PaymentRequest.show() 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 im Zahlungsprozess zu starten.
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 öffnen, indem sie PaymentRequestEvent.openWindow() aufruft. Das Zahlungsfenster präsentiert den Kunden eine Benutzeroberfläche der Zahlungs-App, in der sie sich authentifizieren, die Lieferadresse und Optionen auswählen und die Zahlung autorisieren können.
Sobald die Zahlung abgewickelt wurde, wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis an die Händler-Website zurückzugeben.
Weitere Details zu diesem Schritt finden Sie unter Empfangen eines Zahlungsanforderungsereignisses vom Händler.
Spezifikationen
| Specification |
|---|
| Payment Handler API> # the-paymentrequestevent> |
Browser-Kompatibilität
Loading…