JavaScript-API-Referenz
Lesen Sie unsere API-Dokumentation, um sich einen Überblick über das Stripe Terminal JavaScript SDK zu verschaffen.
API methods
- StripeTerminal.create()
- discoverReaders()
- connectReader()
- disconnectReader()
- getConnectionStatus()
- getPaymentStatus()
- clearCachedCredentials()
- collectPaymentMethod()
- cancelCollectPaymentMethod()
- processPayment()
- collectSetupIntentPaymentMethod()
- cancelCollectSetupIntentPaymentMethod()
- confirmSetupIntent()
- readReusableCard()
- cancelReadReusableCard()
- setReaderDisplay()
- clearReaderDisplay()
- setSimulatorConfiguration()
- getSimulatorConfiguration()
- collectRefundPaymentMethod()
- processRefund()
- cancelCollectRefundPaymentMethod()
- collectInputs()
- cancelCollectInputs()
StripeTerminal.create([options])
Erstellt eine Instanz von StripeTerminal
mit den angegebenen Optionen:
Option | Beschreibung |
---|---|
onFetchConnectionToken | Ein Ereignis-Handler, der ein Verbindungstoken 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 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 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 Weitere Informationen zur Verwendung von Standorten beim Filtern erkannter Lesegeräte finden Sie unter Flottenverwaltung. |
Gibt ein Promise
zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird:
discoveredReaders
: Eine Liste erkannter Lesegerät-Objekte, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
Notiz
Um das Verifone P400 in Ihrer Anwendung erkennen zu können, müssen Sie Ihr Lesegerät zunächst bei Ihrem Konto registrieren.
connectReader(reader, connectOptions)
Versucht, eine Verbindung 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-Objekt, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
Notiz
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_
haben.
getPaymentStatus()
Gibt den Zahlungsstatus des Lesegeräts zurück.
PaymentStatus kann einen der Werte not_
, ready
, waiting_
oder processing
haben.
clearCachedCredentials()
Löscht das aktuelle ConnectionToken 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:
- Wenn ein Lesegerät verbunden ist, rufen Sie
disconnectReader
auf. - Konfigurieren Sie Ihren
onFetchConnectionToken
-Handler so, dass er Verbindungstoken für das neue Konto zurückgibt. - Rufen Sie
clearCachedCredentials
auf. - 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 für einen PaymentIntent. Für diese Methode ist der Parameter request
erforderlich:
request
: Das FeldclientSecret
einesPaymentIntent
-Objekts, das in Ihrem Backend erstellt wurde. Weitere Informationen finden Sie unter PaymentIntent erstellen und sein Client-Geheimnis übergeben.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.
|
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 Wenn der Parameter dem Betrag des PaymentIntent entspricht, wird er ignoriert und das Trinkgeld wird basierend auf dem angegebenen Betrag berechnet.
|
Gibt ein Promise
zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird:
paymentIntent
: Das aktualisierte PaymentIntent-Objekt, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
Weitere Informationen zum Einziehen von Zahlungen finden Sie in unserem Leitfaden zum Einziehen von Zahlungen.
cancelCollectPaymentMethod()
Bricht einen ausstehenden collectPaymentMethod-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 aufgelöst.
processPayment(paymentIntent, options)
Verarbeitet eine Zahlung, nachdem eine Zahlungsmethode erfasst wurde.
Diese Methode verwendet einen erforderlichen Parameter: paymentIntent
:
paymentIntent
: EinPaymentIntent
-Objekt, das von einem erfolgreichen Aufruf voncollectPaymentMethod
bezogen wurde.options
: Ein Objekt, das zusätzliche Zahlungsparameter enthält.
Gibt ein Promise
zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird:
paymentIntent
: Das bestätigte PaymentIntent-Objekt, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist. Weitere Informationen finden Sie unter Umgang mit fehlgeschlagenen Verarbeitungen.
collectSetupIntentPaymentMethod(clientSecret, allowRedisplay, config)
Beginnt mit der Erfassung einer Zahlungsmethode für die Online-Nutzung für einen SetupIntent.
Die Methode verwendet zwei erforderliche Parameter:
clientSecret
: DasclientSecret
-Feld aus einemSetupIntent
-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. |
Gibt ein Promise
zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird:
setupIntent
: Das aktualisierte SetupIntent-Objekt, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
Weitere Informationen zum Speichern von Karten finden Sie unserem Leitfaden zum Speichern von Karten für Online-Zahlungen
cancelCollectSetupIntentPaymentMethod()
Bricht einen ausstehenden collectSetupIntentPaymentMethod-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 aufgelöst.
confirmSetupIntent(setupIntent)
Bestätigt einen SetupIntent, nachdem eine Zahlungsmethode erfasst wurde.
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, wenn der Befehl erfolgreich war.error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
readReusableCard()
Liest eine Karte für die Online-Wiederverwendung ein.
Online-Zahlungen, die mit Terminal initiiert wurden, profitieren nicht von den niedrigeren Preisen und der Haftungsverlagerung, die für Standardzahlungen mit Terminal gelten. Die meisten Integrationen müssen readReusableCard
nicht verwenden. Um nur persönliche Zahlungen von Kundinnen und Kunden anzunehmen, verwenden Sie den Standardablauf.
Gibt ein Promise
zurück, das in ein Objekt mit folgenden Feldern aufgelöst wird:
payment_
: Das PaymentMethod-Objekt, wenn der Befehl erfolgreich war.method error
: Ein Fehler, wenn der Befehl fehlgeschlagen ist.
Notiz
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-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 aufgelöst.
setReaderDisplay(displayInfo)
Aktualisiert den Bildschirm des Lesegeräts mit Warenkorbdetails.
Diese Methode verwendet ein DisplayInfo
-Objekt als Eingabe.
{ 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 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 aufgelöst.
setSimulatorConfiguration(configuration)
Legt das Konfigurationsobjekt für das simulierte Kartenlesegerät 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 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 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. |
paymentMethodType veraltet |
| Ermittelt die Art der vom simulierten Lesegerät erstellten Zahlungsmethode, wenn collectPaymentMethod aufgerufen wird. |
getSimulatorConfiguration()
Gibt ein derzeit aktives Konfigurationsobjekt zurück.
Das Stripe Terminal JavaScript SDK kann diesen Wert bei Bedarf überschreiben (z. B. den Wert zurücksetzen, nachdem processPayment abgeschlossen wurde, oder 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_
: Die ID der zurückzuerstattenden Zahlung.id 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 in Kleinbuchstaben. Es muss sich um eine unterstützte Währung 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-Feld, wenn beim Erfassen der Zahlungsmethode für die Rückerstattung ein Fehler aufgetreten ist.
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-Feld, wenn beim Verarbeiten der 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 Abbruch erfolgreich war. Wenn der Abbruch fehlschlägt, wird das Promise
in ein Objekt mit einem error
-Feld aufgelöst.
collectInputs(collectInputsParameters)
Notiz
Um Zugriff auf die Beta-Version von „Eingaben erfassen“ anzufordern, senden Sie uns eine E-Mail an stripe-terminal-betas@stripe.com.
Beginnen Sie mit der Anzeige von Formularen und dem Erfassen von Informationen von Kundinnen und Kunden mithilfe von Eingaben erfassen
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 aufgelöst.
cancelCollectInputs()
Notiz
Um Zugriff auf die Beta-Version von „Eingaben erfassen“ anzufordern, senden Sie uns eine E-Mail an stripe-terminal-betas@stripe.com.
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 aufgelöst.
Errors
Vom JavaScript SDK zurückgegebene Fehler enthalten einen Fehler-code
sowie eine lesbare message
.
Bei Methoden mit einem PaymentIntent, wie z. B. processPayment, kann der Fehler auch ein payment_
-Objekt enthalten.
Fehlercodes
Code | Beschreibung |
---|---|
no_ | Der Befehl ist fehlgeschlagen, da kein Lesegerät verbunden ist. |
no_ | cancelCollectPaymentMethod kann nur aufgerufen werden, wenn collectPaymentMethod aktiv ist. |
no_ | cancelCollectReusableCard kann nur aufgerufen werden, wenn readReusableCard aktiv ist. |
canceled | Der Befehl wurde abgebrochen. |
cancelable_ | Die Stornierung ist fehlgeschlagen, da der Vorgang bereits abgeschlossen wurde. |
cancelable_ | Die Stornierung ist fehlgeschlagen, da der Vorgang bereits storniert wurde. |
network_ | 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_ | 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_ | connectReader ist fehlgeschlagen, da bereits ein Lesegerät verbunden ist. |
failed_ | 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_ | discoverReaders hat zu viele Lesegeräte zurückgegeben. Verwenden Sie Standorte, um erkannte Lesegeräte nach Standort zu filtern. |
invalid_ | Auf dem Lesegerät wird eine nicht unterstützte Softwareversion ausgeführt. Versuchen Sie es nach der Aktualisierung des Lesegeräts erneut. |
reader_ | Das Lesegerät hat während der Verarbeitung der Anfrage einen Fehler zurückgegeben. Weitere Informationen finden Sie in der Fehlermeldung. |
command_ | Die Aktion kann nicht ausgeführt werden, da eine laufende Aktion dies verhindert. |
Changelog
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.
<script src="https://js.stripe.com/terminal/v1/"></script>
Weitere Informationen zur Migration von der Betaversion von Stripe Terminal finden Sie im Migrationsleitfaden der Stripe Terminal Beta.
v1
confirmPaymentIntent
inprocessPayment
umbenannt.- Die Werte für PaymentStatus umbenannt. PaymentStatus kann einen der Werte
not_
,ready ready
,waiting_
oderfor_ input processing
haben. - Kartenangaben aus der Antwort auf
collectPaymentMethod
entfernt. Zuvor waren die Kartenangaben inresponse.
verfügbar.paymentIntent. payment_ method. card_ payment - Die Beleginformationen sind jetzt im Hash
payment_
verortet.intent. charges[0]. payment_ method_ details. card_ present - Die API zum Erkennen eines simulierten Lesegeräts in
discoverReaders({ simulated: true })
geändert. readSource
wurde inreadReusableCard
umbenannt. Ein erfolgreicher Aufruf vonreadReusableCard
gibt statt einer Quelle eine PaymentMethod zurück. Payment Methods muss mit Payment Intents verwendet werden. Weitere Informationen finden Sie in der Übersicht zur Payment Methods API.- Die Antwort von
connectReader
in{ reader: Reader }
geändert. Damit wurde das Wrapper-ObjektConnection
entfernt. - Die Methoden
startReaderDiscovery
undstopReaderDiscovery
entfernt. Um wiederholt nach Lesegeräten zu suchen, können Sie die JavaScript-MethodesetInterval
verwenden. clearConnectionToken
inclearCachedCredentials
umbenannt.