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 eine PaymentRequest
gemacht wird.
Konstruktor
PaymentRequestEvent()
Experimentell-
Erstellt eine neue Instanz des
PaymentRequestEvent
Objekts.
Instanz-Eigenschaften
methodData
Schreibgeschützt Experimentell-
Gibt ein Array von Objekten zurück, das Zahlungsmetoden-Identifikatoren für die Zahlungsmetoden, die die Website akzeptiert, und alle zugehörigen zahlungsspezifischen Daten enthält.
modifiers
Schreibgeschützt Experimentell-
Gibt ein Array von Objekten zurück, das Änderungen an Zahlungsdetails enthält.
paymentRequestId
Schreibgeschützt Experimentell-
Gibt die ID des
PaymentRequest
Objekts zurück. paymentRequestOrigin
Schreibgeschützt Experimentell-
Gibt die Herkunft zurück, wo das
PaymentRequest
Objekt initialisiert wurde. topOrigin
Schreibgeschützt Experimentell-
Gibt die oberste Herkunft zurück, wo 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 Zahlungsmetodendetails.
openWindow()
Experimentell-
Öffnet die angegebene URL in einem neuen Fenster, wenn und nur wenn die angegebene URL denselben Ursprung wie die aufrufende Seite hat. Es gibt ein
Promise
zurück, das mit einer Referenz zu einemWindowClient
aufgelöst wird. respondWith()
Experimentell-
Verhindert die Standard-Eventbehandlung und ermöglicht es Ihnen, selbst ein
Promise
für einPaymentResponse
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 im Service-Worker der Zahlungs-App überwacht, um die nächste Stufe des Zahlungsvorgangs zu starten.
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 durch Aufruf von PaymentRequestEvent.openWindow()
öffnen. Das Zahlungsfenster präsentiert den Kunden eine Oberfläche 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 zurück an die Händler-Website zu übermitteln.
Sehen Sie Ein Zahlungsevent vom Händler empfangen für weitere Details zu diesem Schritt.
Spezifikationen
Specification |
---|
Payment Handler API # the-paymentrequestevent |