PaymentRequest: merchantvalidation-Ereignis
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
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 übermittelt, wenn ein Zahlungsabwickler verlangt, dass der Händler, der die Zahlung anfordert, nachweist, dass er den Zahlungsabwickler verwenden darf.
Erfahren Sie, wie die Händlervalidierung funktioniert.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("merchantvalidation", (event) => { })
Alternativ können Sie ihn der Ereignishandler-Eigenschaft der Schnittstelle zuweisen:
onmerchantvalidation = (event) => { }
Ereignistyp
Ein MerchantValidationEvent. Erbt von Event.
Beispiele
In diesem Beispiel wird ein Ereignishandler für das merchantvalidation-Ereignis eingerichtet. Er verwendet fetch(), um eine Anfrage an den eigenen Server zu senden. Als Argument übergibt er die Validierungs-URL der Zahlungsmethode, die er aus der validationURL-Eigenschaft des Ereignisses erhält. Der Server des Händlers sollte gemäß der Dokumentation der Zahlungsmethode auf die Validierungs-URL zugreifen. In der Regel sollte ein Client nicht auf die Validierungs-URL zugreifen.
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 Server des Händlers die Validierung durchführt, hängt von der Serverimplementierung und der Dokumentation der Zahlungsmethode ab. Der vom Validierungsserver gelieferte Inhalt wird an den Server des Händlers weitergeleitet und anschließend vom Fulfillment-Handler des fetch()-Aufrufs an die complete()-Methode des Ereignisses zurückgegeben. Durch diese Antwort erfährt der Zahlungsabwickler, ob der Händler validiert wurde.
Sie können den Handler für dieses Ereignis auch über die Ereignishandler-Eigenschaft onmerchantvalidation einrichten. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onmerchantvalidation hinzugefügte Ereignis-Listener ersetzt werden:
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
Siehe auch
- Payment Request API
- Die Payment Request API verwenden
- Ereignishandler-Eigenschaft
onmerchantvalidation - Händlervalidierung
paymentmethodchange-Ereignisshippingaddresschange-Ereignisshippingoptionchange-Ereignis