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 des PaymentRequestEvent
-Interfaces wird von der Zahlungsabwicklung verwendet, um eine aktualisierte Gesamtsumme zu erhalten, basierend auf den Zahlungsdetails wie der Rechnungsadresse.
Wenn diese Methode aufgerufen wird, wird ein PaymentMethodChangeEvent
ausgelöst.
Syntax
changePaymentMethod(methodName)
changePaymentMethod(methodName, methodDetails)
Parameter
methodName
-
Der Name der zu verwendenden Zahlungsmethode.
methodDetails
Optional-
Ein Objekt, das methodenspezifische Details enthält, die aktualisiert werden.
Rückgabewert
Ein Promise
, das mit einem PaymentRequestDetailsUpdate
-Objekt aufgelöst wird. Dieses Objekt enthält die folgenden Eigenschaften:
error
-
Ein String, der erklärt, warum die vom Benutzer gewählte Zahlungsmethode nicht verwendet werden kann.
total
-
Eine aktualisierte Gesamtsumme basierend auf der geänderten Zahlungsmethode. Die Gesamtsumme kann sich ändern, zum Beispiel weil die Rechnungsadresse der vom Benutzer gewählten Zahlungsmethode die anwendbare Mehrwertsteuer beeinflusst.
modifiers
-
Ein
Array
vonPaymentDetailsModifier
-Objekten, deren Eigenschaften inPaymentRequestEvent.modifiers
beschrieben sind. paymentMethodErrors
-
Ein Objekt, das Validierungsfehler für die Zahlungsmethode enthält, falls vorhanden.
Beispiele
Das folgende ist ein einfaches Codebeispiel, das in einem Service Worker verwendet werden könnte, um eine Benachrichtigung über eine Änderung der Zahlungsmethode an das Hauptfenster des Zahlungsverarbeiters zu senden. Ein vollständiges Testbeispiel finden Sie unter Payment handler for testing payment method change event.
function notifyPaymentMethodChanged(e) {
e.changePaymentMethod("someMethod")
.then((paymentMethodChangeResponse) => {
paymentHandlerWindow.postMessage(paymentMethodChangeResponse);
})
.catch((error) => {
sendMessage({ error: error.message });
});
}
Spezifikationen
Specification |
---|
Payment Handler API # changepaymentmethod-method |