# JavaScript-API-Referenz Lesen Sie unsere API-Dokumentation, um sich einen Überblick über das Stripe Terminal JavaScript SDK zu verschaffen. ## API-Methoden - [StripeTerminal.create()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-create) - [discoverReaders()](https://docs.stripe.com/terminal/references/api/js-sdk.md#discover-readers) - [connectReader()](https://docs.stripe.com/terminal/references/api/js-sdk.md#connect-reader) - [disconnectReader()](https://docs.stripe.com/terminal/references/api/js-sdk.md#disconnect) - [getConnectionStatus()](https://docs.stripe.com/terminal/references/api/js-sdk.md#get-connection-status) - [getPaymentStatus()](https://docs.stripe.com/terminal/references/api/js-sdk.md#get-payment-status) - [clearCachedCredentials()](https://docs.stripe.com/terminal/references/api/js-sdk.md#clear-cached-credentials) - [collectPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#collect-payment-method) - [cancelCollectPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-collect-payment-method) - [processPayment()](https://docs.stripe.com/terminal/references/api/js-sdk.md#process-payment) - [cancelProcessPayment()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-process-payment) - [collectSetupIntentPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#collect-setup-intent-payment-method) - [cancelCollectSetupIntentPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-collect-setup-intent-payment-method) - [confirmSetupIntent()](https://docs.stripe.com/terminal/references/api/js-sdk.md#confirm-setup-intent) - [cancelConfirmSetupIntent()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-confirm-setup-intent) - [readReusableCard()](https://docs.stripe.com/terminal/references/api/js-sdk.md#read-reusable-card) - [cancelReadReusableCard()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-read-reusable-card) - [setReaderDisplay()](https://docs.stripe.com/terminal/references/api/js-sdk.md#set-reader-display) - [clearReaderDisplay()](https://docs.stripe.com/terminal/references/api/js-sdk.md#clear-reader-display) - [setSimulatorConfiguration()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-setsimulatorconfig) - [getSimulatorConfiguration()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-getsimulatorconfig) - [collectRefundPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-collectrefundpaymentmethod) - [cancelCollectRefundPaymentMethod()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-cancelcollectrefundpaymentmethod) - [processRefund()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-processrefund) - [cancelProcessRefund()](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-cancelprocessrefund) - [collectInputs()](https://docs.stripe.com/terminal/references/api/js-sdk.md#collect-inputs) - [cancelCollectInputs()](https://docs.stripe.com/terminal/references/api/js-sdk.md#cancel-collect-inputs) - [print()](https://docs.stripe.com/terminal/references/api/js-sdk.md#print) ### StripeTerminal.create([options]) Erstellt eine Instanz von `StripeTerminal` mit den angegebenen Optionen: | Option | Beschreibung | | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **onFetchConnectionToken** | Ein Ereignis-Handler, der ein [Verbindungstoken](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=js#connection-token) von Ihrem Backend abruft. | | **onUnexpectedReaderDisconnect** | Ein Ereignis-Handler, der aufgerufen wird, wenn die Verbindung zwischen einem Lesegerät und Ihrer App getrennt wird. | | **onConnectionStatusChange** (optional) | Ein Ereignis-Handler, der aufgerufen wird, wenn der ConnectionStatus des SDK sich ändert. | | **onPaymentStatusChange** (optional) | Ein Ereignis-Handler, der aufgerufen wird, wenn der PaymentStatus des SDK sich ändert. | | **readerBehavior** (optional) | Ein Objekt, das das Verhalten des Lesegeräts während des Lebenszyklus des SDK festlegt. Siehe unten die Konfigurationsoptionen für readerBehavior. | ### Konfiguration für das Verhalten des Lesegeräts Derzeit gibt es nur eine Konfigurationsoption für das Verhalten: | Verhalten | Beschreibung | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **allowCustomerCancel** | Ein boolescher Wert, mit dem festgelegt wird, ob die Kundin/der Kunde `collectPaymentMethod` über die Schnittstelle des Lesegeräts abbrechen kann. Der Standardwert ist `false`. **Hinweis:** Diese Eigenschaft ist nicht allgemein verfügbar und wir akzeptieren derzeit keine Nutzer. | ### discoverReaders([options]) Beginnt mit der Erkennung von Lesegeräten mit den angegebenen Optionen: | Option | Beschreibung | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **simulated** (optional) | Ein boolescher Wert, der angibt, ob nach einem [simulierten Lesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) gesucht werden soll. Wenn nichts angegeben wird, wird der Standardwert `false` angewendet. | | **location** (optional) | Es werden nur Lesegeräte zurückgegeben, die mit der angegebenen `location` verknüpft sind. Dieser Parameter wird bei der Suche nach einem simulierten Lesegerät ignoriert. Weitere Informationen zur Verwendung von Standorten beim Filtern erkannter Lesegeräte finden Sie unter [Flottenverwaltung](https://docs.stripe.com/terminal/fleet/locations-and-zones.md). | Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `discoveredReaders`: Eine Liste erkannter [Lesegerät](https://docs.stripe.com/api/terminal/readers/object.md)-Objekte, wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. > Um das Verifone P400 in Ihrer Anwendung erkennen zu können, müssen Sie Ihr Lesegerät zunächst bei Ihrem Konto [registrieren](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=internet#register-reader). ### connectReader(reader, connectOptions) Versucht, eine [Verbindung](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=internet#connect-reader) zum angegebenen Lesegerät mit den folgenden Optionen aufzubauen: | Option | Beschreibung | | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **fail\_if\_in\_use** (optional) | Ein boolescher Wert, der angibt, dass die Verbindung fehlschlägt, wenn das Lesegerät derzeit mit einem Terminal SDK verbunden ist. Wenn nichts angegeben wird, wird der Standardwert `false` angewendet. | Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `reader`: Das verbundene [Lesegerät](https://docs.stripe.com/api/terminal/readers/object.md)-Objekt, wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. > Speichern Sie das `Reader`-Objekt nicht im Cache Ihrer Anwendung. Wenn sich die IP-Adresse des Lesegerät ändert, kann die Herstellung einer Verbindung mit einem veralteten `Reader`-Objekt fehlschlagen. ### disconnectReader() Trennt die Verbindung zum verbundenen Lesegerät. ### getConnectionStatus() Gibt den aktuellen Verbindungsstatus zurück. ConnectionStatus kann einen der Werte `connecting`, `connected` oder `not_connected` haben. ### getPaymentStatus() Gibt den Zahlungsstatus des Lesegeräts zurück. PaymentStatus kann einen der Werte `not_ready`, `ready`, `waiting_for_input` oder `processing` haben. ### clearCachedCredentials() Löscht das aktuelle [ConnectionToken](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=js#connection-token) sowie sämtliche anderen im Cache gespeicherten Anmeldedaten. Verwenden Sie diese Methode, um zwischen den Konten in Ihrer Anwendung zu wechseln (z. B. für den Wechsel zwischen Live- und Test-Stripe-API-Schlüsseln in Ihrem Backend). Um zwischen den Konten zu wechseln, befolgen Sie diese Schritte: 1. Wenn ein Lesegerät verbunden ist, rufen Sie `disconnectReader` auf. 1. Konfigurieren Sie Ihren `onFetchConnectionToken`-Handler so, dass er Verbindungstoken für das neue Konto zurückgibt. 1. Rufen Sie `clearCachedCredentials` auf. 1. Verbindung zu einem Lesegerät wiederherstellen. Das SDK fordert ein neues Verbindungstoken von Ihrem `onFetchConnectionToken`-Handler an. ### collectPaymentMethod(request, options) Beginnt mit der [Erfassung einer Zahlungsmethode](https://docs.stripe.com/terminal/payments/collect-card-payment.md#collect-payment) für einen PaymentIntent. Für diese Methode ist der Parameter `request` erforderlich: - `Anfrage`: Das Feld `clientSecret` aus einem in Ihrem Backend erstellten `PaymentIntent`-Objekt. Erfahren Sie, wie Sie [ein PaymentIntent erstellen und dessen Client-Geheimnis übergeben](https://docs.stripe.com/payments/accept-a-payment.md?payment-ui=elements&api-integration=paymentintents#web-create-intent). - `options`: Ein Objekt, das zusätzliche Zahlungsparameter enthält. | Option | Beschreibung | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **config\_override** (optional) | Ein Objekt, mit dem Sie Konfigurationsüberschreibungen pro Transaktion angeben können. Der Standardwert dieses Objekts ist null. `skip_tipping` - Optional, standardmäßig auf „false“ eingestellt. Wenn „true“ festgelegt ist, überspringt das Lesegerät den Trinkgeld-Bildschirm. `tipping` - Ein Objekt, mit dem Sie Trinkgeld-bezogene Optionen pro Transaktion angeben können. Dieses ist unten beschrieben. `update_payment_intent` - Ein boolescher Wert, der in Verbindung mit `payment_intent_id` den Aufruf anweist, den `PaymentIntent` zu aktualisieren und die angehängte `PaymentMethod` mit den Kartenangaben zurückzugeben. `enable_customer_cancellation` - Optional, Standardwert: false. Wenn „true“, zeigen Android-basierte intelligente Lesegeräte eine Schaltfläche zum Abbrechen an. `allow_redisplay` - Erforderlich, wenn `setup_future_usage` eingestellt ist. Andernfalls wird standardmäßig `unspecified` festgelegt. Ein ENUM-Wert, der angibt, ob zukünftige Bezahlvorgänge diese Zahlungsmethode für den Kunden/die Kundin anzeigen können. `moto` - Optional, standardmäßig auf „false“ eingestellt. Wenn „true“, beginnen Android-basierte intelligente Lesegeräte mit der Erfassung für eine Transaktion per [Post- und Telefonbezahlung](https://docs.stripe.com/terminal/features/mail-telephone-orders/payments.md). ```json { update_payment_intent: boolean, payment_intent_id: string, enable_customer_cancellation: boolean, skip_tipping: boolean, tipping: object, allow_redisplay: string, moto: boolean, } ``` | Die folgende Option ist für das `tipping`-Objekt verfügbar: | Option | Beschreibung | | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **eligible\_amount** (optional) | Eine Zahl, mit der Sie den Betrag einer Transaktion angeben können, für die prozentuale Trinkgelder berechnet werden. Legen Sie diesen Wert auf 0 oder höher fest. Wenn es 0 ist, wird das Trinkgeld unabhängig vom Wert von `skip_tipping` übersprungen. Wenn der Parameter dem Betrag des PaymentIntent entspricht, wird er ignoriert und das Trinkgeld wird basierend auf dem angegebenen Betrag berechnet. ```json { eligible_amount: number, } ``` | Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `paymentIntent`: Das aktualisierte [PaymentIntent-Objekt](https://docs.stripe.com/api/payment_intents/object.md), wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. Weitere Informationen zum Einziehen von Zahlungen finden Sie in unserem Leitfaden zum [Einziehen von Zahlungen](https://docs.stripe.com/terminal/payments/collect-card-payment.md). ### cancelCollectPaymentMethod() Bricht einen ausstehenden [collectPaymentMethod](https://docs.stripe.com/terminal/references/api/js-sdk.md#collect-payment-method)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### processPayment(paymentIntent, options) [Verarbeitet](https://docs.stripe.com/terminal/payments/collect-card-payment.md#process-payment) eine Zahlung, nachdem eine Zahlungsmethode [erfasst](https://docs.stripe.com/terminal/payments/collect-card-payment.md#collect-payment) wurde. Diese Methode verwendet einen erforderlichen Parameter: `paymentIntent`: - `paymentIntent`: Ein `PaymentIntent`-Objekt, das von einem erfolgreichen Aufruf von `collectPaymentMethod` bezogen wurde. - `options`: Ein Objekt, das zusätzliche Zahlungsparameter enthält. | Option | Beschreibung | | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **config\_override** (optional) | Ein Objekt, mit dem Sie Konfigurationsüberschreibungen pro Transaktion angeben können. Der Standardwert dieses Objekts ist null. `return_url` - Die URL, an die Ihre Kundinnen/Kunden weitergeleitet werden, nachdem sie ihre Zahlung in der App oder auf der Website der Zahlungsmethode authentifiziert oder abgebrochen haben. Wir verwenden diesen Parameter nur für auf Weiterleitung basierende Zahlungsmethoden. Der Standardwert ist NULL. ```json { return_url: string, } ``` | Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `paymentIntent`: Das bestätigte [PaymentIntent-Objekt](https://docs.stripe.com/api/payment_intents/object.md), wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. Weitere Informationen finden Sie unter [Umgang mit fehlgeschlagenen Verarbeitungen](https://docs.stripe.com/terminal/payments/collect-card-payment.md#handling-failures). ### cancelProcessPayment() Bricht einen ausstehenden [processPayment](https://docs.stripe.com/terminal/references/api/js-sdk.md#process-payment)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### collectSetupIntentPaymentMethod(clientSecret, allowRedisplay, config) Beginnt mit der [Erfassung einer Zahlungsmethode für die Online-Nutzung](https://docs.stripe.com/terminal/features/saving-payment-details/overview.md) für einen [SetupIntent](https://docs.stripe.com/api/setup_intents/object.md). Die Methode verwendet zwei erforderliche Parameter: - `clientSecret`: Das `clientSecret`-Feld aus einem `SetupIntent`-Objekt, das auf Ihrem Backend erstellt wurde. - `allowRedisplay`: Ein ENUM-Wert, der angibt, ob zukünftige Bezahlvorgänge diese Zahlungsmethode für den Kunden/die Kundin anzeigen können. - `config`: ein optionales Objekt, das die Erfassungskonfiguration enthält. | Option | Beschreibung | | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **enable\_customer\_cancellation** | Optional, Standardwert ist „false“ Wenn „true“, wird bei smarten Lesegeräten mit Android eine Schaltfläche zum Abbrechen angezeigt. | | **MOTO** | Optional, Standardwert ist „false“ Wenn „true“, beginnen Android-basierte intelligente Lesegeräte mit dem Speichern einer [Karte für die Post- und Telefonbezahlung](https://docs.stripe.com/terminal/features/mail-telephone-orders/save-directly.md). | Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `setupIntent`: Das aktualisierte [SetupIntent-Objekt](https://docs.stripe.com/api/setup_intents/object.md), wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. Weitere Informationen zum Speichern von Zahlungsmethoden finden Sie unserem Leitfaden zum [Speichern von Zahlungsdaten für Online-Zahlungen](https://docs.stripe.com/terminal/features/saving-payment-details/overview.md). ### cancelCollectSetupIntentPaymentMethod() Bricht einen ausstehenden [collectSetupIntentPaymentMethod](https://docs.stripe.com/terminal/references/api/js-sdk.md#collect-setup-intent-payment-method)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### confirmSetupIntent(setupIntent) [Bestätigt](https://docs.stripe.com/terminal/features/saving-payment-details/save-directly.md#submit-payment-method) einen SetupIntent, nachdem eine Zahlungsmethode [erfasst wurde](https://docs.stripe.com/terminal/features/saving-payment-details/save-directly.md#collect-payment-method). Diese Methode verwendet einen einzigen Parameter: ein `SetupIntent`-Objekt, das von einem erfolgreichen Aufruf von `collectSetupIntentPaymentMethod` bezogen wurde. Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `setupIntent`: Das bestätigte [SetupIntent-Objekt](https://docs.stripe.com/api/setup_intents/object.md), wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. ### cancelConfirmSetupIntent() Bricht einen ausstehenden [confirmSetupIntent](https://docs.stripe.com/terminal/references/api/js-sdk.md#confirm-setup-intent)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### readReusableCard() Liest eine Karte für die [Online-Wiederverwendung](https://docs.stripe.com/terminal/features/saving-payment-details/overview.md) ein. Online-Zahlungen, die mit Terminal initiiert wurden, profitieren *nicht* von den [niedrigeren Preisen](https://stripe.com/terminal#pricing) und der *Haftungsverlagerung* (With some 3D Secure transactions, the liability for fraudulent chargebacks (stolen or counterfeit cards) shifts from you to the card issuer), die für [Standardzahlungen mit Terminal](https://docs.stripe.com/terminal/payments/collect-card-payment.md) gelten. Die meisten Integrationen müssen `readReusableCard` *nicht* verwenden. Um nur persönliche Zahlungen von Kundinnen und Kunden anzunehmen, verwenden Sie den [Standardablauf](https://docs.stripe.com/terminal/payments/collect-card-payment.md). Gibt ein `Promise` zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird: - `payment_method`: Das [PaymentMethod-Objekt](https://docs.stripe.com/api/payment_methods/object.md), wenn der Befehl erfolgreich war. - `error`: Ein [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors), wenn der Befehl fehlgeschlagen ist. > Derzeit können Sie mit Stripe Terminal keine kontaktlosen Karten oder mobilen Geldbörsen (z. B. Apple Pay, Google Pay) zur späteren Wiederverwendung speichern. ### cancelReadReusableCard() Bricht einen ausstehenden [readReusableCard](https://docs.stripe.com/terminal/references/api/js-sdk.md#read-reusable-card)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### setReaderDisplay(displayInfo) Aktualisiert den Bildschirm des Lesegeräts mit [Warenkorbdetails](https://docs.stripe.com/terminal/features/display.md). Diese Methode verwendet ein `DisplayInfo`-Objekt als Eingabe. ```json { type: 'cart', cart: { line_items: [ { description: string, amount: number, quantity: number, }, ], tax: number, total: number, currency: string, } } ``` Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich war. Wenn der Befehl fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### clearReaderDisplay() Wenn das Lesegerät die mithilfe von `setReaderDisplay` festgelegten Warenkorbdetails anzeigt, löscht diese Methode den Bildschirm und setzt ihn auf den Begrüßungsbildschirm zurück. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich war. Wenn der Befehl fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### setSimulatorConfiguration(configuration) Legt das Konfigurationsobjekt für das [simulierte Kartenlesegerät](https://docs.stripe.com/terminal/references/testing.md#simulated-reader) fest. Diese Methode hat nur Auswirkungen, wenn eine Verbindung zum simulierten Lesegerät besteht. Andernfalls werden keine Aktionen ausgeführt. Das simulierte Lesegerät befolgt die festgelegte Konfiguration nur solange, bis `processPayment` abgeschlossen wurde. An diesem Punkt wird es auf sein Standardverhalten zurückgesetzt. Beachten Sie, dass diese Methode jedes derzeit aktive Konfigurationsobjekt überschreibt. Um dem Objekt bestimmte Schlüssel-Wert-Paare hinzuzufügen, verwenden Sie eine Kombination aus dieser Methode und `getSimulatorConfiguration`. Folgende Konfigurationsoptionen sind verfügbar: | Feld | Werte | Beschreibung | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **testCardNumber** | Sehen Sie sich die Liste der [simulierten Testkarten](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards) an. | Konfiguriert das simulierte Lesegerät für die Verwendung einer Testkartennummer, die von einer Kundin/einem Kunden als Zahlungsmethode angegeben wurde. Verwenden Sie es, um verschiedene Szenarien in Ihrer Integration zu testen (z. B. Zahlungen mit verschiedenen Kartenmarken oder die Verarbeitung von Fehlern wie einer abgelehnten Zahlung). | | **testPaymentMethod** | Sehen Sie sich die Liste der [simulierten Testkarten](https://docs.stripe.com/terminal/references/testing.md#simulated-test-cards) an. | Erfüllt denselben Zweck wie `testCardNumber`, basiert jedoch auf Testzahlungsmethoden. | | **tipAmount** | Beliebiger Betrag oder null. | Konfiguriert das simulierte Lesegerät, um ein vom Kunden ausgewähltes Trinkgeld zu simulieren. | | **collectInputsResult** | Wir unterstützen das Testen der folgenden Verhaltensweisen: - Erfolgreich: - Eingaben werden nicht übersprungen: `{ resultType: 'succeeded', skipBehavior: 'none' }` - Nicht erforderliche Eingaben werden übersprungen: `{ resultType: 'succeeded', skipBehavior: 'all' }` - Zeitüberschreitung: `{ resultType: 'timeout' }` Weitere Informationen finden Sie unter [Integration testen](https://docs.stripe.com/terminal/features/collect-inputs.md?terminal-sdk-platform=js#test-your-integration). | Konfiguriert das simulierte Lesegerät, um die [Erfassung von Eingaben](https://docs.stripe.com/terminal/features/collect-inputs.md?terminal-sdk-platform=js) zu simulieren. | | **paymentMethodType** (veraltet) | - `card_present` (Standard) - `interac_present` | Ermittelt die Art der vom simulierten Lesegerät erstellten Zahlungsmethode, wenn `collectPaymentMethod` aufgerufen wird. | ### getSimulatorConfiguration() Gibt ein derzeit aktives Konfigurationsobjekt zurück. Das JavaScript SDK von Stripe Terminal kann diesen Wert bei Bedarf überschreiben, z. B. (unter anderem) den Wert zurücksetzen, nachdem processPayment abgeschlossen wurde, und unbekannte Schlüssel-Wert-Paare entfernen. ### collectRefundPaymentMethod(charge_id, amount, currency, options, config) Beginnt mit der Erfassung einer Zahlungsmethode, für die eine Rückerstattung erfolgen soll. Diese Methode verwendet zwei erforderliche Parameter: - `charge_id`: Die ID der zurückzuerstattenden Zahlung. - `amount`: Eine Zahl, die den Betrag in Cent angibt, der von der Zahlung zurückerstattet wird. Diese Zahl darf maximal so hoch sein wie der Betrag, der bei der ursprünglichen Zahlung abgebucht wurde. - `currency`: Dreistelliger [ISO-Code für die Währung](https://docs.stripe.com/currencies.md) in Kleinbuchstaben. Es muss sich um eine [unterstützte Währung](https://docs.stripe.com/currencies.md) handeln. - `options`: Ein optionales Objekt, das zusätzliche Rückerstattungsparameter enthält. | Option | Beschreibung | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **refund\_application\_fee** | Optional, Standardwert: „false“. Nur für Connect. Ein boolescher Wert, der angibt, ob die Plattformgebühr bei Rückerstattung dieser Zahlung ebenfalls zurückerstattet werden soll. Bei einer vollständigen Rückerstattung wird die gesamte Plattformgebühr ebenfalls zurückerstattet. Andernfalls wird ein Teil der Plattformgebühr zurückerstattet, der proportional dem zurückerstatteten Betrag entspricht. Eine Plattformgebühr kann nur von der Plattform zurückerstattet werden, die die Zahlung erstellt hat. | | **reverse\_transfer** | Optional, Standardwert: „false“. Nur für Connect. Ein boolescher Wert, der angibt, ob bei Rückerstattung dieser Zahlung die Überweisung zurückgebucht werden soll. Die Überweisung wird proportional zum zurückerstatteten Betrag (anteilmäßig oder komplett) zurückgebucht. Eine Überweisung kann nur von der Plattform zurückgebucht werden, die die Zahlung erstellt hat. | - `config`: ein optionales Objekt, das die Erfassungskonfiguration enthält. | Option | Beschreibung | | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | **enable\_customer\_cancellation** | Optional, Standardwert ist „false“ Wenn „true“, wird bei smarten Lesegeräten mit Android eine Schaltfläche zum Abbrechen angezeigt. | Gibt ein `Promise` zurück, das in eines der folgenden Objekte aufgelöst wird: - ein leeres Objekt, wenn die Erfassung der Zahlungsmethode erfolgreich war, oder - Ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors)-Feld, wenn beim Erfassen der Zahlungsmethode für die Rückerstattung ein Fehler aufgetreten ist. ### cancelCollectRefundPaymentMethod() Bricht einen ausstehenden `collectRefundPaymentMethod`-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### processRefund() Verarbeitet eine laufende Rückerstattung. Diese Methode kann nur erfolgreich aufgerufen werden, nachdem `collectRefundPaymentMethod` erfolgreich zurückgegeben wurde. Gibt ein `Promise` zurück, das in eines der folgenden Objekte aufgelöst wird: - ein Refund-Objekt, wenn die Rückerstattung erfolgreich war, oder - Ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors)-Feld, wenn beim Verarbeiten der Rückerstattung ein Fehler aufgetreten ist. ### cancelProcessRefund() Bricht einen ausstehenden [processRefund](https://docs.stripe.com/terminal/references/api/js-sdk.md#stripeterminal-processrefund)-Befehl ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn der Befehl erfolgreich abgebrochen wurde. Wenn der Abbruch fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### collectInputs(collectInputsParameters) Beginnen Sie mit der Anzeige von Formularen und dem Erfassen von Informationen von Kundinnen und Kunden mithilfe von [Eingaben erfassen](https://docs.stripe.com/terminal/features/collect-inputs.md) Diese Methode verwendet ein `ICollectInputsParameters`-Objekt als Eingabe. Gibt ein `Promise` zurück, das in die erfassten Ergebnisse aufgelöst wird, wenn der Befehl erfolgreich war. Wenn der Befehl fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### cancelCollectInputs() Bricht einen ausstehenden `collectInputs` ab. Gibt ein `Promise` zurück, das in ein leeres Objekt aufgelöst wird, wenn die Stornierung erfolgreich war. Wenn der Befehl fehlschlägt, wird das `Promise` in ein Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ### print(content) > Das Drucken ist nur auf dem [Verifone V660p](https://stripe.com/terminal/v660p)-Lesegerät verfügbar. Weitere Informationen finden Sie im [Integrationshandbuch](https://docs.stripe.com/terminal/features/print-content.md?terminal-sdk-platform=js). Druckt den angegebenen Inhalt auf dem Drucker des verbundenen Lesegeräts, sofern verfügbar. Diese Methode erfordert einen obligatorischen Parameter, nämlich `content`: - `content`: Der zu druckende Inhalt. Dies muss ein `HTMLCanvasElement`-Objekt sein. Gibt ein `Promise` zurück, das zu einem leeren Objekt aufgelöst wird, wenn der Druckbefehl erfolgreich ist. Wenn der Befehl fehlschlägt, wird das `Promise` zu einem Objekt mit einem [Fehler](https://docs.stripe.com/terminal/references/api/js-sdk.md#errors) aufgelöst. ## Fehler Vom JavaScript SDK zurückgegebene Fehler enthalten einen Fehler-`code` sowie eine lesbare `message`. Bei Methoden mit einem PaymentIntent, wie z. B. [processPayment](https://docs.stripe.com/terminal/payments/collect-card-payment.md#handling-failures), kann der Fehler auch ein `payment_intent`-Objekt enthalten. #### Fehlercodes | Code | Beschreibung | | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `no_established_connection` | Der Befehl ist fehlgeschlagen, da kein Lesegerät verbunden ist. | | `no_active_collect_payment_method_attempt` | `cancelCollectPaymentMethod` kann nur aufgerufen werden, wenn `collectPaymentMethod` aktiv ist. | | `no_active_read_reusable_card_attempt` | `cancelCollectReusableCard` kann nur aufgerufen werden, wenn `readReusableCard` aktiv ist. | | `canceled` | Der Befehl wurde abgebrochen. | | `cancelable_already_completed` | Die Stornierung ist fehlgeschlagen, da der Vorgang bereits abgeschlossen wurde. | | `cancelable_already_canceled` | Die Stornierung ist fehlgeschlagen, da der Vorgang bereits storniert wurde. | | `network_error` | Bei der Kommunikation mit dem Server oder Lesegerät über das Netzwerk ist ein unbekannter Fehler aufgetreten. Weitere Informationen finden Sie in der Fehlermeldung. | | `network_timeout` | Bei der Kommunikation mit dem Server oder Lesegerät über das Netzwerk ist die Anfrage abgelaufen. Stellen Sie sicher, dass sowohl Ihr Gerät als auch das Lesegerät über eine stabile Verbindung zum Netzwerk verfügen. | | `already_connected` | `connectReader` ist fehlgeschlagen, da bereits ein Lesegerät verbunden ist. | | `failed_fetch_connection_token` | Das Abrufen eines Verbindungstokens ist fehlgeschlagen. Stellen Sie sicher, dass Ihr Verbindungstoken-Handler ein Promise zurückgibt, das in das Verbindungstoken aufgelöst wird. | | `discovery_too_many_readers` | `discoverReaders` hat zu viele Lesegeräte zurückgegeben. Verwenden Sie [Standorte](https://docs.stripe.com/terminal/fleet/locations-and-zones.md), um erkannte Lesegeräte nach Standort zu filtern. | | `invalid_reader_version` | Auf dem Lesegerät wird eine nicht unterstützte Softwareversion ausgeführt. Versuchen Sie es nach der Aktualisierung des Lesegeräts erneut. | | `reader_error` | Das Lesegerät hat während der Verarbeitung der Anfrage einen Fehler zurückgegeben. Weitere Informationen finden Sie in der Fehlermeldung. | | `command_already_in_progress` | Die Aktion kann nicht ausgeführt werden, da eine laufende Aktion dies verhindert. | | `printer_busy` | Ein weiterer Druckvorgang ist bereits im Gange. | | `printer_paperjam` | Der Drucker hat einen Papierstau. Öffnen Sie die Abdeckung des Druckers und beheben Sie den Papierstau manuell. | | `printer_cover_open` | Die Abdeckung des Druckers oder die Kopfeinheit ist geöffnet. | | `printer_out_of_paper` | Der Drucker hat kein Papier mehr. | | `printer_absent` | Das Lesegerät verfügt nicht über einen Drucker. | | `printer_unavailable` | Das Lesegerät verfügt über einen Drucker, der jedoch derzeit nicht verfügbar ist. | | `printer_error` | Der Druckvorgang ist aus einem nicht näher spezifizierten Grund fehlgeschlagen. | ## Änderungsprotokoll Wenn Sie eine ältere Version des JavaScript SDK (vor 7. Juni 2019) verwenden, führen Sie eine Aktualisierung auf die aktuelle Version durch, indem Sie die URL des Skripts in Ihrer Integration ändern. ```html ``` Weitere Informationen zur Migration von der Betaversion von Stripe Terminal finden Sie im [Migrationsleitfaden der Stripe Terminal Beta](https://docs.stripe.com/terminal/references/sdk-migration-guide.md). #### 1. 2025 - Aktualisierung: Der Support für die Erfassung der Zustimmung zum Aufschlag in `processPayment` wurde hinzugefügt. Sie können jetzt einen Bildschirm für die Zustimmung zu Aufschlägen auf dem Lesegerät anzeigen und eine benutzerdefinierte Nachricht mit bis zu 220 Zeichen Länge hinzufügen. #### 10.06.2025 - Vorschau: Eine `print`-Methode wurde hinzugefügt, um das Drucken von Bildern auf dem Verifone V660p-Lesegerät zu ermöglichen. - Wenn Sie an der Vorschau teilnehmen möchten, wenden Sie sich bitte an den [Stripe-Support](https://support.stripe.com/). #### 06.02.2025 - Aktueller Hinweis: Simulierte Lesegeräte unterstützen die [Erfassung von Eingaben](https://docs.stripe.com/terminal/features/collect-inputs.md?terminal-sdk-platform=js#test-your-integration). - Update: `processPayment`, `confirmSetupIntent` und `processRefund` können jetzt mit `cancelProcessPayment`, `cancelConfirmSetupIntent` und `cancelProcessRefund` abgebrochen werden. Dadurch können Sie den Vorgang in bestimmten Szenarien stornieren, z. B. bei der Vorlage der Zahlung per QR-Code. #### v1 - `confirmPaymentIntent` in `processPayment` umbenannt. - Die Werte für PaymentStatus umbenannt. PaymentStatus kann einen der Werte `not_ready`, `ready`, `waiting_for_input` oder `processing` haben. - Kartenangaben aus der Antwort auf `collectPaymentMethod` entfernt. Zuvor waren die Kartenangaben in `response.paymentIntent.payment_method.card_payment` verfügbar. - Die Beleginformationen sind jetzt im Hash `payment_intent.charges[0].payment_method_details.card_present` verortet. - Die API zum Erkennen eines simulierten Lesegeräts in `discoverReaders({ simulated: true })` geändert. - `readSource` wurde in `readReusableCard` umbenannt. Ein erfolgreicher Aufruf von `readReusableCard` gibt statt einer Quelle eine [PaymentMethod](https://docs.stripe.com/api/payment_methods.md) zurück. Payment Methods muss mit Payment Intents verwendet werden. Weitere Informationen finden Sie in der Übersicht zur [Payment Methods API](https://docs.stripe.com/payments/payment-methods.md). - Die Antwort von `connectReader` in `{ reader: Reader }` geändert. Damit wurde das Wrapper-Objekt `Connection` entfernt. - Die Methoden `startReaderDiscovery` und `stopReaderDiscovery` entfernt. Um wiederholt nach Lesegeräten zu suchen, können Sie die JavaScript-Methode `setInterval` verwenden. - `clearConnectionToken` in `clearCachedCredentials` umbenannt.