PaymentRequest: merchantvalidation Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
merchantvalidation
Ereignisse werden vom Payment Request API an ein PaymentRequest
Objekt gesendet, wenn ein Zahlungshandler erfordert, dass der Händler, der den Kauf anfragt, sich als berechtigt identifiziert, den Zahlungshandler zu nutzen.
Erfahren Sie, wie der Händlervalidierungsprozess funktioniert.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergeleitet.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("merchantvalidation", (event) => {});
onmerchantvalidation = (event) => {};
Ereignistyp
Ein MerchantValidationEvent
. Erbt von Event
.
Ereigniseigenschaften
MerchantValidationEvent.methodName
-
Ein String, der eine eindeutige Zahlungsidentifikationsmethode für den Zahlungshandler bereitstellt, der eine Validierung erfordert. Dies kann entweder einer der Standard-Zahlungsmethoden-Identifikationsstrings oder eine URL sein, die sowohl identifiziert als auch Anfragen für den Zahlungshandler behandelt, wie z. B.
https://apple.com/apple-pay
. MerchantValidationEvent.validationURL
-
Ein String, der eine URL angibt, von der die Website oder App spezifische Validierungsinformationen des Zahlungshandlers abrufen kann. Sobald diese Daten abgerufen sind, sollten die Daten (oder ein Versprechen, das die Validierungsdaten auflöst) in
complete()
übergeben werden, um zu bestätigen, dass die Zahlungsanforderung von einem autorisierten Händler stammt.
Beispiele
In diesem Beispiel wird ein Ereignishandler für das merchantvalidation
Ereignis eingerichtet. Er verwendet fetch()
, um eine Anfrage an seinen eigenen Server mit einem Argument der Validierungs-URL der Zahlungsmethode zu senden, die von der validationURL
Eigenschaft des Ereignisses bezogen wurde. Der Händler-Server sollte die Validierungs-URL gemäß der Zahlungshandlerrichtlinien aufrufen. Normalerweise sollte ein Client die Validierungs-URL nicht aufrufen.
request.addEventListener("merchantvalidation", (event) => {
event.complete(async () => {
const merchantServerUrl = `${
window.location.origin
}/validate?url=${encodeURIComponent(event.validationURL)}`;
// get validation data, and complete validation;
return await fetch(merchantServerUrl).then((response) => response.text());
}, false);
});
const response = await request.show();
Wie der Händler-Server die Validierung handhabt, hängt von der Serverimplementierung und den Zahlungshandlerrichtlinien ab. Der vom Validierungsserver bereitgestellte Inhalt wird an den Händler-Server weitergeleitet und dann vom Erfüllungshandler des fetch()
-Aufrufs an die complete()
Methode des Ereignisses zurückgegeben. Diese Antwort gibt dem Zahlungshandler an, ob der Händler validiert ist.
Sie können auch die onmerchantvalidation
Ereignis-Handler-Eigenschaft verwenden, um den Handler für dieses Ereignis einzurichten:
request.onmerchantvalidation = (event) => {
event.complete(async () => {
const merchantServerUrl = `${
window.location.origin
}/validate?url=${encodeURIComponent(event.validationURL)}`;
// get validation data, and complete validation;
return await fetch(merchantServerUrl).then((response) => response.text());
});
};
const response = await request.show();
Weitere Informationen finden Sie unter Händlervalidierung.
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Payment Request API
- Verwendung des Payment Request API
onmerchantvalidation
Ereignis-Handler-Eigenschaft- Händlervalidierung
paymentmethodchange
Ereignisshippingaddresschange
Ereignisshippingoptionchange
Ereignis