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

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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 Schnittstelle PaymentRequestEvent der Web-based Payment Handler API ist das Objekt, das an einen Zahlungs-Handler übergeben wird, wenn ein PaymentRequest gestellt wird.

Event ExtendableEvent PaymentRequestEvent

Konstruktor

PaymentRequestEvent()

Erstellt eine neue Instanz eines PaymentRequestEvent-Objekts.

Instanzeigenschaften

methodData Schreibgeschützt

Gibt ein Array von Objekten zurück, das Kennungen für die von der Website akzeptierten Zahlungsmethoden sowie zugehörige zahlungsmethodenspezifische Daten enthält.

modifiers Schreibgeschützt

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

paymentRequestId Schreibgeschützt

Gibt die ID des PaymentRequest-Objekts zurück.

paymentRequestOrigin Schreibgeschützt

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

topOrigin Schreibgeschützt

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

total Schreibgeschützt

Gibt den angeforderten Gesamtzahlungsbetrag zurück.

Instanzmethoden

changePaymentMethod()

Ruft anhand der Details zur Zahlungsmethode einen aktualisierten Gesamtbetrag ab.

openWindow()

Öffnet die angegebene URL genau dann in einem neuen Fenster, wenn sie denselben Ursprung wie die aufrufende Seite hat. Die Methode gibt ein Promise zurück, das mit einer Referenz auf einen WindowClient erfüllt wird.

respondWith()

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

Beispiele

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

js
let paymentRequestEvent;
const resolver = Promise.withResolvers();
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 durch Aufrufen von PaymentRequestEvent.openWindow() ein Fenster für den Zahlungs-Handler öffnen. In diesem Fenster wird Kunden eine Benutzeroberfläche der Zahlungs-App angezeigt, über die sie sich authentifizieren, eine Versandadresse und Versandoptionen auswählen und die Zahlung autorisieren können.

Nachdem die Zahlung abgewickelt wurde, wird PaymentRequestEvent.respondWith() verwendet, um das Zahlungsergebnis an die Website des Händlers zurückzugeben.

Weitere Informationen zu dieser Phase finden Sie unter Empfangen eines Zahlungsanfrage-Ereignisses vom Händler.

Spezifikationen

Spezifikation
Web-based Payment Handler API
# the-paymentrequestevent

Browser-Kompatibilität

Siehe auch