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: respondWith()-Methode

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 respondWith()-Methode des PaymentRequestEvent-Interfaces verhindert die standardmäßige Ereignisbehandlung und ermöglicht es Ihnen, selbst ein Promise für ein Zahlungshandler-Antwortobjekt bereitzustellen.

Syntax

js
respondWith(promise)

Parameter

promise

Ein Zahlungshandler-Antwortobjekt oder ein Promise, das zu einem solchen aufgelöst wird. Dieses Objekt sollte die folgenden Eigenschaften enthalten:

methodName

Der Zahlungsarten-Identifikator für die Zahlungsmethode, die der Benutzer ausgewählt hat, um die Transaktion zu erfüllen.

details

Ein JSON-serialisierbares Objekt, das eine zahlungsspezifische Nachricht bereitstellt, die vom Händler verwendet wird, um die Transaktion zu verarbeiten und einen erfolgreichen Geldtransfer zu bestimmen. Siehe 8.1.2 details-Attribut für weitere Details.

Rückgabewert

Keiner (undefined).

Beispiele

Das folgende Beispiel stammt aus Open the payment handler window to display the web-based payment app frontend. Lesen Sie den Artikel, um den Kontext des Codes zu verstehen.

js
self.addEventListener("paymentrequest", async (e) => {
  // Retain a promise for future resolution
  resolver = new PromiseResolver();

  // Pass a promise that resolves when payment is done.
  e.respondWith(resolver.promise);
  // Open the checkout page.
  try {
    // Open the window and preserve the client
    client = await e.openWindow(checkoutURL);
    if (!client) {
      // Reject if the window fails to open
      throw new Error("Failed to open window");
    }
  } catch (err) {
    // Reject the promise on failure
    resolver.reject(err);
  }
});

Spezifikationen

Specification
Web-based Payment Handler API
# dom-paymentrequestevent-respondwith

Browser-Kompatibilität

Siehe auch