Mit einem Lesegerät verbinden
Verbinden Sie Ihre Anwendung mit einem Stripe Terminal-Lesegerät.
Notiz
Wenn Sie sich noch nicht für ein Lesegerät entschieden haben, vergleichen Sie die verfügbaren Terminal-Lesegeräte und wählen Sie das aus, das Ihren Bedürfnissen am besten entspricht.
Notiz
Für intelligente Lesegeräte wie das BBPOS WisePOS E oder den Stripe Reader S700 empfehlen wir die servergestützte Integration anstelle des JavaScript SDK. Bei der servergestützten Integration werden Zahlungen mit der Stripe API erfasst, anstatt auf die lokale Netzwerkkommunikation zu vertrauen. Sehen Sie sich unseren Plattformvergleich an und finden heraus, welche Plattform am besten zu Ihrem Unternehmen passt.
Auf intelligenten Lesegeräten wird die Stripe-Lesegerätesoftware ausgeführt, um direkt mit Stripe über das Internet zu kommunizieren. Das Verbinden Ihrer App mit einem intelligenten Lesegerät erfordert drei Schritte:
- Lesegerät im Stripe-Konto registrieren
- Lesegeräte finden mit dem SDK
- Mit einem Lesegerät verbinden mit dem SDK
Lesegerät registrierenServerseitig
Bevor Sie Ihre Anwendung mit einem intelligenten Lesegerät verbinden können, müssen Sie das Lesegerät in Ihrem Konto registrieren.
Im Dashboard registrieren
Sie können Ihr Lesegerät direkt im Dashboard hinzufügen.
Mit Registrierungscode registrieren
- Klicken Sie auf der Seite Lesegeräte auf Lesegerät registrieren.
- Wenn Sie ein Verifone P400 haben, geben Sie die Tastenfolge
0-7-1-3-9
ein, um einen einmaligen Registrierungscode anzuzeigen. Wenn Sie ein BBPOS WisePOS E oder einen Stripe Reader S700, haben, gehen Sie zu den Einstellungen des Lesegeräts und tippen Sie auf Kopplungscode generieren. - Geben Sie den Registrierungscode ein und klicken Sie auf Weiter.
- Wählen Sie optional einen Namen für das Lesegerät aus.
- Wenn Sie bereits einen Standort erstellt haben, wählen Sie den neuen Standort des Lesegeräts aus. Andernfalls erstellen Sie einen Standort, indem Sie auf + Neu hinzufügen klicken.
- Klicken Sie auf Registrieren, um die Registrierung Ihres Lesegeräts abzuschließen.
Mit Seriennummer registrieren
- Klicken Sie auf der Seite Lesegeräte auf Lesegerät registrieren.
- Suchen Sie auf dem Gerät nach der Seriennummer und geben Sie diese ein. Um mehrere Geräte gleichzeitig zu registrieren, können Sie mehrere, durch Kommas getrennte Seriennummern eingeben.
- Wählen Sie optional einen Namen für das Lesegerät aus.
- Wenn Sie bereits einen Standort erstellt haben, wählen Sie den neuen Standort des Lesegeräts aus. Andernfalls erstellen Sie einen Standort, indem Sie auf + Neu hinzufügen klicken.
- Klicken Sie auf Registrieren, um die Registrierung Ihres Lesegeräts abzuschließen.
Nach Hardware-Bestellung registrieren
- Suchen Sie auf der Seite Hardware-Bestellungen nach einer Bestellung mit dem Status „Versendet“ oder „Geliefert“. Klicken Sie auf das Überlaufmenü () am Ende der Zeile und klicken Sie dann auf Registrieren.
- Wählen Sie auf der Seite Lesegerät registrieren ein oder mehrere Lesegerät aus der Hardware-Reihenfolge aus, die Sie registrieren möchten, und klicken Sie dann auf Registrieren.
- Wählen Sie optional einen Namen für das Lesegerät. Wenn Sie mehrere Lesegeräte ausgewählt haben, dient der Name als Präfix und wir benennen die Lesegeräte der Reihe nach (zum Beispiel legen wir für eine bestimmte Eingabe von „Testlesegerät“ die Bezeichnungen „Testlesegerät 1“, „Testlesegerät 2“ usw. fest).
- Wenn Sie bereits einen Standort erstellt haben, wählen Sie den neuen Standort des Lesegeräts aus. Andernfalls erstellen Sie einen Standort, indem Sie auf + Neu hinzufügen klicken.
- Klicken Sie auf Registrieren, um die Registrierung Ihrer Lesegeräte abzuschließen.
Mithilfe der API registrieren
Bei größeren Bereitstellungen sollten Sie es den Nutzerinnen/Nutzern vor Ort ermöglichen, neue Lesegeräte selbst zu empfangen und einzurichten. Erstellen Sie in Ihrer App einen Ablauf zum Registrieren eines Lesegeräts mit der Stripe API.
- Wenn Sie ein Verifone P400 haben, geben Sie die Tastenfolge
0-7-1-3-9
ein, um einen einmaligen Registrierungscode anzuzeigen. Wenn Sie ein BBPOS WisePOS E oder einen Stripe Reader S700, haben, gehen Sie zu den Einstellungen des Lesegeräts und tippen Sie auf Kopplungscode generieren. - Der/die Nutzer/in gibt den Code in Ihre Anwendung ein.
- Ihre Anwendung sendet den Code an Stripe:
Um zu prüfen, ob Sie ein Lesegerät korrekt registriert haben, lassen Sie alle an diesem Standort registrierten Lesegeräte auflisten:
Lesegeräte suchenClientseitig
Um Ihre Point-of-Sale-Anwendung mit einem Lesegerät zu verbinden, rufen Sie mit dem gewünschten Lesegerät connectReader auf.
Sie können Ihre Erkennung anhand des location
eingrenzen, bei dem Sie das Lesegerät im vorherigen Schritt registriert haben.
async function discoverReaders() { const config = {simulated: false, location:
} const discoverResult = await terminal.discoverReaders(config); if (discoverResult.error) { console.log('Failed to discover: ', discoverResult.error); } else if (discoverResult.discoveredReaders.length === 0) { console.log('No available readers.'); } else { // You should show the list of discoveredReaders to the // cashier here and let them select which to connect to (see below). connectReader(discoverResult); } }'{{LOCATION_ID}}'
Mit einem Lesegerät verbindenClientseitig
Um Ihre Point-of-Sale-Anwendung mit einem Lesegerät zu verbinden, rufen Sie mit dem gewünschten Lesegerät connectReader auf.
async function connectReader(discoverResult) { // Just select the first reader here. const selectedReader = discoverResult.discoveredReaders[0]; const connectResult = await terminal.connectReader(selectedReader); if (connectResult.error) { console.log('Failed to connect:', connectResult.error); } else { console.log('Connected to reader:', connectResult.reader.label); } }
Mehrere Verbindungen
Es kann immer nur eine Instanz des Stripe Terminal SDK mit einem Lesegerät verbunden werden. Wenn Sie connectReader
von einer anderen Anwendung aus aufrufen, ersetzt die eingehende Verbindung standardmäßig die bestehende Verbindung zwischen SDK und Lesegerät, und das zuvor verbundene SDK wird vom Lesegerät getrennt. Die Methode connectReader
verwendet ein Konfigurationsobjekt mit der Eigenschaft fail_
, deren Standardwert false
ist. Wenn Ihre Anwendung fail_
auf „true“ festlegt, weist der connectReader
-Aufruf ein alternatives Verhalten auf, bei dem die eingehende Verbindung fehlschlägt, wenn sich das Lesegerät mitten in einem collectPaymentMethod
- oder processPayment
-Aufruf befindet, der von einem anderen SDK initiiert wurde. Wenn das Lesegerät mit einem anderen SDK verbunden ist, sich aber im Ruhezustand befindet (der Begrüßungsbildschirm wird angezeigt, bevor collectPaymentMethod
aufgerufen wird), bewirkt die Einstellung von fail_
keine Änderung am Verbindungsverhalten und die eingehende Verbindungsanfrage kann die bestehende Verbindung vom SDK zum Lesegerät immer unterbrechen.
const connectResult = await terminal.connectReader(reader, {fail_if_in_use: true});
fail_if_in_use ist „false“ (Standard) | fail_if_in_use ist „true“ | |
---|---|---|
connectReader wird von einem neuen SDK aufgerufen, wenn das Lesegerät inaktiv ist. | Die bestehende Verbindung vom SDK zum Lesegerät wird unterbrochen und das neue SDK wird mit dem Lesegerät verbunden. Der nächste Befehl aus dem zuvor verbundenen SDK schlägt mit einem Lesegerätfehler fehl und die Methode onDisconnect der App wird aufgerufen. | Die bestehende Verbindung vom SDK zum Lesegerät wird unterbrochen und das neue SDK wird mit dem Lesegerät verbunden. Der nächste Befehl aus dem zuvor verbundenen SDK schlägt mit einem Lesegerätfehler fehl und die Methode onDisconnect der App wird aufgerufen. |
connectReader wird von einem neuen SDK aufgerufen, wenn sich das Lesegerät mitten in der Transaktion befindet. | Die bestehende Verbindung vom SDK zum Lesegerät wird unterbrochen und das neue SDK wird mit dem Lesegerät verbunden. Der nächste Befehl aus dem zuvor verbundenen SDK schlägt mit einem Lesegerätfehler fehl und die Methode onDisconnect der App wird aufgerufen. | Die eingehende Verbindung schlägt mit einem Lesegerätfehler fehl. Die bestehende Verbindung vom SDK zum Lesegerät wird nicht unterbrochen, und der laufende Befehl wird fortgesetzt. |
Für eine möglichst unterbrechungsfreie Verbindung in Umgebungen mit mehreren Lesegeräten empfehlen wir, fail_
beim ersten Verbindungsversuch Ihrer Anwendung auf true
festzulegen. Erlauben Sie Ihren Nutzer/innen dann, den Verbindungsaufbau zu wiederholen, wobei fail_
auf false
gesetzt wird, falls die Verbindung beim ersten Mal fehlschlägt.
Mit dieser Konfiguration kann eine/r Ihrer Nutzer/innen eine Transaktion nicht versehentlich durch eine versehentliche Verbindung zu einem verwendeten Lesegerät unterbrechen, kann aber bei Bedarf trotzdem eine Verbindung herstellen.
Mit Verbindungsabbrüchen umgehen
Ihre App muss den Rückruf onUnexpectedReaderDisconnect
für Verbindungsabbrüche bei Lesegeräten implementieren. Wenn Sie diesen Rückruf implementieren, zeigen Sie eine Nutzeroberfläche an, die Ihre Nutzer/innen über das getrennte Lesegerät informiert. Sie können discoverReaders
aufrufen, um nach Lesegeräten zu suchen und die erneute Verbindung zu initiieren.
Ihre App kann versuchen, die Verbindung zum getrennten Lesegerät automatisch wiederherzustellen, oder eine Nutzeroberfläche anzeigen, die Ihre Nutzer/innen auffordert, die Verbindung zu einem anderen Lesegerät wiederherzustellen.
Das Lesegerät kann die Verbindung zu Ihrer App trennen, wenn die Verbindung zum Netzwerk unterbrochen wird. Schalten Sie das Lesegerät aus, um eine unerwartete Unterbrechung zu simulieren.
const terminal = StripeTerminal.create({ onFetchConnectionToken: fetchConnectionToken, onUnexpectedReaderDisconnect: unexpectedDisconnect, }); function unexpectedDisconnect() { // Consider displaying a UI to notify the user and start rediscovering readers }
Automatische Wiederverbindung
Stripe Terminal verbindet sich nicht automatisch erneut mit einem Lesegerät, wenn Ihre Anwendung gestartet wird. Stattdessen können Sie einen Wiederverbindungsablauf erstellen, indem Sie Lesegerät-IDs speichern und versuchen, beim Start eine Verbindung zu einem bekannten Lesegerät herzustellen.
- Wenn Sie erfolgreich eine Verbindung zu einem Lesegerät hergestellt haben, speichern Sie dessen Seriennummer an einem dauerhaften Datenspeicherort wie beispielsweise der localStorage API.
- Wenn Ihre App gestartet wird, suchen Sie an diesem dauerhaften Speicherort nach einer gespeicherten Seriennummer. Wird eine solche gefunden, rufen Sie die Methode
discoverReaders
auf, damit Ihre Anwendung erneut versuchen kann, das Lesegerät zu finden. - Wenn die gespeicherte Seriennummer einem der erkannten Lesegeräte entspricht, versuchen Sie, eine Verbindung zu diesem Lesegerät herzustellen, wobei Sie das übereinstimmende reader-Objekt aus dem Aufruf von
discoverReaders
verwenden. Wenn das zuvor verbundene Lesegerät nicht gefunden wird, brechen Sie den Erkennungsvorgang ab.
Zeigen Sie während des Erkennungs- und Verbindungsvorgangs eine Nutzeroberfläche an, um darauf hinzuweisen, dass eine automatische erneute Verbindung erfolgt.
Nächste Schritte
Sie haben Ihre Anwendung mit dem Lesegerät verbunden. Als Nächstes ziehen Sie Ihre erste Stripe Terminal-Zahlung ein.
Der Name und das Logo von BBPOS und Chipper™ sind Marken oder eingetragene Marken von BBPOS Limited in den Vereinigten Staaten und/oder anderen Ländern. Der Name und das Logo von Verifone® sind entweder Marken oder eingetragene Marken von Verifone in den Vereinigten Staaten und/oder anderen Ländern. Die Verwendung der Marken stellt keine Billigung durch BBPOS oder Verifone dar.