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.

Das PaymentRequestEvent-Interface der Payment Handler API ist das Objekt, das an einen Zahlungsdienstleister übergeben wird, wenn ein PaymentRequest erstellt wird.

Event ExtendableEvent PaymentRequestEvent

Konstruktor

PaymentRequestEvent() Experimentell

Erstellt eine neue Instanz eines PaymentRequestEvent-Objekts.

Instanzeigenschaften

instrumentKey Schreibgeschützt Veraltet Nicht standardisiert

Gibt ein Objekt zurück, das das vom Benutzer ausgewählte Zahlungsinstrument widerspiegelt oder einen leeren String, wenn der Benutzer kein Zahlungsinstrument registriert oder ausgewählt hat.

methodData Schreibgeschützt Experimentell

Gibt ein Array von Objekten zurück, das Zahlungsarten-Identifikatoren für die akzeptierten Zahlungsmethoden der Website und alle zugehörigen zahlungsspezifischen Daten enthält.

modifiers Schreibgeschützt Experimentell

Gibt ein Array von Objekten zurück, das Änderungen an den Zahlungsdetails enthält.

paymentRequestId Schreibgeschützt Experimentell

Gibt die ID des PaymentRequest-Objekts zurück.

paymentRequestOrigin Schreibgeschützt Experimentell

Gibt den Ursprung zurück, an dem das PaymentRequest-Objekt initialisiert wurde.

topOrigin Schreibgeschützt Experimentell

Gibt den obersten Ursprung zurück, an dem das PaymentRequest-Objekt initialisiert wurde.

total Schreibgeschützt Experimentell

Gibt den gesamten Zahlungsbetrag zurück, der angefordert wird.

Instanzmethoden

changePaymentMethod() Experimentell

Erhält eine aktualisierte Gesamtsumme basierend auf den Zahlungsart-Details.

openWindow() Experimentell

Öffnet die angegebene URL in einem neuen Fenster, wenn und nur wenn die angegebene URL denselben Ursprung wie die aufrufende Seite hat. Es gibt ein Promise zurück, das mit einer Referenz zu einem WindowClient aufgelöst wird.

respondWith() Experimentell

Verhindert die Standard-Ereignisbehandlung und ermöglicht es Ihnen, selbst ein Promise für ein PaymentResponse-Objekt bereitzustellen.

Beispiele

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

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 Zahlungsfenster öffnen, indem sie PaymentRequestEvent.openWindow() aufruft. Das Zahlungsfenster wird den Kunden eine Zahlungsschnittstelle präsentieren, in der sie sich authentifizieren, die Lieferadresse und -optionen auswählen und die Zahlung autorisieren können.

Wenn die Zahlung abgewickelt wurde, wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis an die Händler-Website zurückzugeben.

Sehen Sie Empfangen eines Zahlungsanforderungsereignisses vom Händler für weitere Details zu diesem Schritt.

Spezifikationen

Specification
Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
PaymentRequestEvent
Experimental
PaymentRequestEvent() constructor
Experimental
changePaymentMethod
Experimental
changeShippingAddress
Experimental
changeShippingOption
Experimental
instrumentKey
DeprecatedNon-standard
methodData
Experimental
modifiers
Experimental
openWindow()
Experimental
paymentOptions
Experimental
paymentRequestId
Experimental
paymentRequestOrigin
Experimental
respondWith()
Experimental
shippingOptions
Experimental
topOrigin
Experimental
total
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.

Siehe auch