Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
PaymentRequest: PaymentRequest() Konstruktor
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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
DerPaymentRequest() Konstruktor erstellt ein neuesPaymentRequest Objekt, das verwendet wird, um den Prozess der Erstellung, Validierung und Einreichung einer Zahlungsanforderung zu handhaben.
In diesem Artikel
Syntax
new PaymentRequest(methodData, details)new PaymentRequest(methodData, details, options)Parameter
methodDataEnthält ein Array von Identifikatoren für die Zahlungsmethoden, die die Händlerwebsite akzeptiert, sowie alle zugehörigen zahlungsmethodenspezifischen Daten. Jedes Element im Array enthält die folgenden Felder:
supportedMethodsEin String, der einenZahlungsmethoden-Identifikator enthält. Dies ist entweder eine URL oder einer derstandardisierten Zahlungsmethoden-Identifikatoren. Der Wert und die Struktur des
dataFeldes variieren je nach Wert dessupportedMethodsFeldes.dataEin JSON-serialisierbares Objekt, das optionale Informationen bereitstellt, die von den unterstützten Zahlungsmethoden benötigt werden könnten. Es muss dem von dem durch
supportedMethodsangegebenen Payment-Handler erwarteten Typ entsprechen. Entwickler müssen sich mit den Verantwortlichen der Zahlungsmethoden in Verbindung setzen, um die erwartete Struktur des Datenobjekts zu erfragen. WennsupportedMethodssecure-payment-confirmationist, mussdatademSecurePaymentConfirmationRequestDictionary entsprechen.
detailsBietet Informationen über die angeforderte Transaktion. Dieser Parameter enthält die folgenden Felder:
totalDer Gesamtbetrag der Zahlungsanforderung.
idOptionalEin freiformatiger Identifikator für diese Zahlungsanforderung. Wenn kein Wert angegeben wird, erstellt der Browser einen.
displayItemsEin Array optionaler Positionen für die Zahlungsanforderung, die der Benutzeragent anzeigen kann, wie z.B. Produktdetails, Steuern und Versand.
shippingOptionsDie Versandoptionen, die der Benutzer auswählen kann. Wenn diese Sequenz leer ist, bedeutet dies, dass der Händler nicht an die aktuelle Versandadresse liefern kann. Die Standardversandoption kann in dieser Sequenz angegeben werden.
modifiersModifikatoren für spezifische Zahlungsmethoden; zum Beispiel die Anpassung des Gesamtbetrags basierend auf der Zahlungsmethode. Dieser Parameter enthält die folgenden Felder:
additionalDisplayItemsEin Array von Artikeln, die der
details.displayItemsEigenschaft hinzugefügt werden sollen. Diese Eigenschaft wird häufig verwendet, um einen Rabatt oder einen Zuschlag anzuzeigen, der indetails.modifiers.totalangegeben ist.dataEin JSON-serialisierbares Objekt, das optionale Informationen bereitstellt, die von den unterstützten Zahlungsmethoden benötigt werden könnten.
totalEin Gesamtbetrag für die Zahlungsanforderung, der den Wert in
details.totalüberschreibt. Dies wird typischerweise verwendet, wenndetails.modifiers.additionalItemseinem Rabatt oder einem Kauf zur Anfrage hinzufügt.
optionsOptionalErlaubt Ihnen, Optionen festzulegen, die das Verhalten des Benutzeragents steuern. Dieser Parameter enthält die folgenden Felder:
requestPayerNameEin Boolean, der angibt, ob der Benutzeragent den Namen des Zahlers erfassen und mit der Zahlungsanforderung übermitteln soll. Der Standard ist
false.requestPayerEmailEin Boolean, der angibt, ob der Benutzeragent die E-Mail-Adresse des Zahlers erfassen und mit der Zahlungsanforderung übermitteln soll. Der Standard ist
false.requestPayerPhoneEin Boolean, der angibt, ob der Benutzeragent die Telefonnummer des Zahlers erfassen und mit der Zahlungsanforderung übermitteln soll. Der Standard ist
false.requestShippingEin Boolean, der angibt, ob der Benutzeragent die Versandadresse des Zahlers erfassen und mit der Zahlungsanforderung übermitteln soll. Wenn Sie diesen Typ auf true setzen, sollten Sie eine geeignete
shippingTypeauswählen. Der Standard istfalse.shippingTypeErlaubt es Ihnen zu spezifizieren, wie die Benutzeroberfläche den Versand beschreibt, wenn das Wort 'Versand' für Ihren Anwendungsfall nicht passend ist. Zum Beispiel würde man in englischsprachigen Ländern "pizza delivery" statt "pizza shipping" sagen. Gültige Werte sind
"shipping","delivery"und"pickup". Anführungszeichen müssen eingeschlossen sein. Der Standardwert ist"shipping".
Rückgabewert
Ein neuesPaymentRequest Objekt, konfiguriert zur Verwendung gemäß den Eingabewerten.
Ausnahmen
SecurityErrorDOMExceptionDie Nutzung dieser Funktion wurde durch einePermissions Policy blockiert.
Beispiele
Das folgende Beispiel zeigt minimalen Funktionsumfang und konzentriert sich stattdessen auf die vollständige Kontexteinbettung bei der Instanziierung einesPaymentRequest Objekts.
const supportedInstruments = [ { supportedMethods: "https://example.com/pay", },];const details = { total: { label: "Donation", amount: { currency: "USD", value: "65.00" } }, displayItems: [ { label: "Original donation amount", amount: { currency: "USD", value: "65.00" }, }, ], shippingOptions: [ { id: "standard", label: "Standard shipping", amount: { currency: "USD", value: "0.00" }, selected: true, }, ],};const options = { requestShipping: true };try { const request = new PaymentRequest(supportedInstruments, details, options); // Add event listeners here. // Call show() to trigger the browser's payment flow. request .show() .then((instrumentResponse) => { // Do something with the response from the UI. }) .catch((err) => { // Do something with the error from request.show(). });} catch (e) { // Catch any other errors.}Spezifikationen
| Specification |
|---|
| Payment Request API> # constructor> |