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: changePaymentMethod() 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 changePaymentMethod()-Methode der PaymentRequestEvent-Schnittstelle wird vom Zahlungsabwickler verwendet, um einen aktualisierten Gesamtbetrag zu erhalten, basierend auf Zahlungsdetails wie der Rechnungsadresse.

Wenn diese Methode aufgerufen wird, wird ein PaymentMethodChangeEvent ausgelöst.

Syntax

js
changePaymentMethod(methodName)
changePaymentMethod(methodName, methodDetails)

Parameter

methodName

Der Name der zu verwendenden Zahlungsmethode.

methodDetails Optional

Ein Objekt, das spezifische Details der Methode enthält, die aktualisiert werden.

Rückgabewert

Ein Promise, der mit einem PaymentRequestDetailsUpdate-Objekt aufgelöst wird. Dieses Objekt enthält die folgenden Eigenschaften:

error

Ein String, der erklärt, warum die vom Benutzer ausgewählte Zahlungsmethode nicht verwendet werden kann.

total

Ein aktualisierter Gesamtbetrag basierend auf der geänderten Zahlungsmethode. Der Gesamtbetrag kann sich beispielsweise ändern, weil die Rechnungsadresse der vom Benutzer ausgewählten Zahlungsmethode die anwendbare Umsatzsteuer ändert.

modifiers

Ein Array von PaymentDetailsModifier-Objekten, deren Eigenschaften in PaymentRequestEvent.modifiers beschrieben sind.

paymentMethodErrors

Ein Objekt, das Validierungsfehler für die Zahlungsmethode enthält, falls vorhanden.

Beispiele

Das Folgende zeigt ein triviales Code-Snippet, das in einem Service Worker verwendet werden könnte, um eine Benachrichtigung über eine Änderung der Zahlungsmethode an das Hauptfenster des Zahlungsabwicklers zu senden. Für ein vollständiges Testbeispiel siehe Zahlungsabwickler zum Testen des Zahlungsänderungsereignisses.

js
function notifyPaymentMethodChanged(e) {
  e.changePaymentMethod("someMethod")
    .then((paymentMethodChangeResponse) => {
      paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
    })
    .catch((error) => {
      sendMessage({ error: error.message });
    });
}

Spezifikationen

Specification
Web-based Payment Handler API
# changepaymentmethod-method

Browser-Kompatibilität

Siehe auch