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 Standard-Ereignisverarbeitung und ermöglicht es Ihnen, selbst ein Promise für ein Antwortobjekt des Zahlungshandlers bereitzustellen.
Syntax
respondWith(promise)
Parameter
promise-
Ein Antwortobjekt des Zahlungshandlers oder ein
Promise, das zu einem solchen aufgelöst wird. Dieses Objekt sollte die folgenden Eigenschaften enthalten:methodName-
Der Bezahlmethoden-Identifikator für die Zahlungsmethode, die der Benutzer ausgewählt hat, um die Transaktion zu erfüllen.
details-
Ein JSON-serialisierbares Objekt, das eine zahlungsmethoden-spezifische Nachricht enthält, die vom Händler zur Verarbeitung der Transaktion und zur Bestimmung eines erfolgreichen Geldtransfers verwendet wird. Siehe 8.1.2
detailsAttribut für weitere Details.
Rückgabewert
Keiner (undefined).
Beispiele
Das untenstehende Beispiel ist Öffnen Sie das Zahlungsfenster, um die Web-basierte Zahlungs-App-Frontend anzuzeigen entnommen. Lesen Sie den Artikel, um den Kontext des Codes zu verstehen.
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> |