PaymentRequest: merchantvalidation Ereignis
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.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
merchantvalidation Ereignisse werden von der Payment Request API an ein PaymentRequest Objekt geliefert, wenn ein Zahlungsabwickler erfordert, dass der Händler, der den Kauf anfordert, sich als berechtigt validiert, den Zahlungsabwickler zu verwenden.
Erfahren Sie, wie der Händler-Validierungsprozess funktioniert.
Dieses Ereignis kann nicht abgebrochen werden und blubbert nicht.
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.
Beispiele
In diesem Beispiel wird ein Ereignis-Handler für das merchantvalidation Ereignis eingerichtet. Es verwendet die fetch() Funktion, um eine Anfrage an seinen eigenen Server mit einem Argument der Validierungs-URL des Zahlungsmittels zu senden, die über die validationURL Eigenschaft des Ereignisses erhalten wird. Der Händler-Server sollte die Validierungs-URL gemäß der Dokumentation des Zahlungsmittels aufrufen. Typischerweise sollte ein Client die Validierungs-URL nicht direkt 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 durchführt, hängt von der Server-Implementierung und der Dokumentation des Zahlungsmittels ab. Der vom Validierungs-Server gelieferte Inhalt wird an den Händler-Server weitergeleitet und dann vom Erfüllungs-Handler des fetch() Aufrufs an die complete() Methode auf dem Ereignis zurückgegeben. Diese Antwort informiert den Zahlungsabwickler darüber, 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();
Für weitere Informationen siehe Händler-Validierung.
Browser-Kompatibilität
Siehe auch
- Payment Request API
- Verwendung der Payment Request API
onmerchantvalidationEreignis-Handler-Eigenschaft- Händler-Validierung
paymentmethodchangeEreignisshippingaddresschangeEreignisshippingoptionchangeEreignis