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 Zahlungshandler übergeben wird, wenn ein PaymentRequest gemacht wird.

Event ExtendableEvent PaymentRequestEvent

Konstruktor

PaymentRequestEvent() Experimentell

Erstellt eine neue Instanz des PaymentRequestEvent-Objekts.

Instanz-Eigenschaften

instrumentKey Schreibgeschützt Veraltet Nicht standardisiert

Gibt ein Objekt zurück, das das vom Benutzer ausgewählte Zahlungsmittel widerspiegelt, oder ein leerer String, falls der Benutzer kein Zahlungsmittel registriert oder ausgewählt hat.

methodData Schreibgeschützt Experimentell

Gibt ein Array von Objekten zurück, das Zahlungssystemkennungen für die von der Website akzeptierten Zahlungsmethoden und alle zugehörigen spezifischen Zahlungsdaten 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 Gesamtbetrag zurück, der zur Zahlung angefordert wird.

Instanz-Methoden

changePaymentMethod() Experimentell

Erhält eine aktualisierte Gesamtsumme, basierend auf den Details der Zahlungsmethode.

openWindow() Experimentell

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

respondWith() Experimentell

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

Beispiele

Wenn die PaymentRequest.show()-Methode aufgerufen wird, wird ein paymentrequest-Ereignis im Service-Worker der Zahlungs-App ausgelöst. Dieses Ereignis wird innerhalb des Service-Workers der Zahlungs-App überwacht, um die nächste Phase des Zahlungsvorgangs zu initiieren.

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 bietet den Kunden eine Schnittstelle der Zahlungs-App, in der sie sich authentifizieren, die Versandadresse 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.

Siehe Empfangen eines Zahlungsanforderungsereignisses vom Händler für weitere Details zu dieser Phase.

Spezifikationen

Specification
Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

Siehe auch