Mit einem Lesegerät verbinden
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 eines aus, das Ihren Bedürfnissen am besten entspricht.
Notiz
Für intelligente Lesegeräte wie das BBPOS WisePOS E oder der Stripe Reader S700 empfehlen wir die servergestützte Integration anstelle eines JavaScript SDK. Bei der servergestützten Integration werden Zahlungen mit der Stripe API erfasst, anstatt auf die LAN-Verbindung zu vertrauen. Das JavaScript SDK und JavaScript SDI können nicht offline betrieben werden. 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
Die einfachste Möglichkeit ist das Hinzufügen Ihres Lesegeräts im Dashboard.
- Wenn Sie bereits einen Standort erstellt haben, klicken Sie darauf. Andernfalls erstellen Sie einen, indem Sie auf + Neu klicken.
- Klicken Sie im Abschnitt Lesegeräte auf +Neu.
- 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 ein Stripe Reader S700, haben, gehen Sie zu den Einstellungen des Lesegeräts und tippen Sie auf Kopplungscode generieren. - Geben Sie den Code bei einer entsprechenden Aufforderung ein.
Mithilfe der API registrieren
Bei größeren Bereitstellungen sollten Sie es den Nutzer/innen 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 ein 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
Nachdem Sie das Lesegerät in Ihrem Konto registriert haben, können Sie mit der Methode discoverReaders
nach bereits registrierten Lesegeräten suchen, die Sie mit Ihrer Point-of-Sale-Anwendung verbinden können. Sie können die Suche anhand des location
einschränken, 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 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
const connectResult = await terminal.connectReader(reader, {fail_if_in_use: true});
fail_if_in_use ist falsch (Standard) | fail_if_in_use ist wahr | |
---|---|---|
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 App hat onUnexpectedReaderDisconnect Methode aufgerufen wird. | 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 App hat onUnexpectedReaderDisconnect Methode aufgerufen wird. |
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 App hat onUnexpectedReaderDisconnect Methode aufgerufen wird. | 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. |
Um in Umgebungen mit mehreren Lesegeräten eine möglichst störungsfreie Verbindung herzustellen, empfehlen wir die Einstellung fail_if_in_use
auf true
beim ersten Verbindungsversuch Ihrer Anwendung. Erlauben Sie Ihren Nutzer/innen dann, die Verbindung mit fail_if_in_use
wird auf false
gesetzt, wenn die Verbindung beim ersten Mal fehlschlägt. Mit dieser Konfiguration kann einer Ihrer Nutzer/innen eine Transaktion nicht versehentlich durch eine Verbindung zu einem verwendeten Lesegerät unterbrechen, kann aber bei Bedarf trotzdem eine Verbindung herstellen.
Mit Verbindungsabbrüchen umgehen
Ihre App muss den Callback UnexpectedReaderDisconnect
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
, um nach Lesegeräten zu suchen und die erneute Verbindung zu initiieren. Ihre App kann versuchen, die Verbindung zum getrennten Lesegerät 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 stellt nicht automatisch eine Verbindung zu einem Lesegerät wieder her, 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. Ziehen Sie als Nächstes Ihre 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.