Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 Web-basierten Payment Handler API ist das Objekt, das an einen Payment-Handler übergeben wird, wenn eine PaymentRequest durchgeführt wird.

Event ExtendableEvent PaymentRequestEvent

Konstruktor

PaymentRequestEvent() Experimentell

Erstellt eine neue Instanz eines PaymentRequestEvent-Objekts.

Instanz-Eigenschaften

methodData Schreibgeschützt Experimentell

Gibt ein Array von Objekten zurück, das Bezahlmethoden-Identifikatoren für die akzeptierten Zahlungsmethoden der Website 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 für die Zahlung angefordert wird.

Instanz-Methoden

changePaymentMethod() Experimentell

Erhält einen aktualisierten Gesamtbetrag basierend auf den Zahlungsmethoden-Details.

openWindow() Experimentell

Öffnet die angegebene URL in einem neuen Fenster, wenn und nur wenn die gegebene URL im selben Ursprung wie die aufrufende Seite ist. 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, ein Promise für ein PaymentResponse-Objekt selbst bereitzustellen.

Beispiele

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

js
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 Zahlungs-Handler-Fenster öffnen, indem sie PaymentRequestEvent.openWindow() aufruft. Das Zahlungs-Handler-Fenster zeigt den Kunden eine Benutzeroberfläche der Zahlungs-App an, in der sie sich authentifizieren, eine Lieferadresse und Optionen wählen und die Zahlung autorisieren können.

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

Sehen Sie Einen Zahlungsanforderungs-Ereignis vom Händler empfangen für mehr Details zu dieser Phase.

Spezifikationen

Specification
Web-based Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

Siehe auch