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.
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
Nachdem Sie das Lesegerät bei Ihrem Konto registriert haben, suchen Sie mithilfe der Methode DiscoverReadersAsync
nach zuvor registrierten Lesegeräten, um eine Verbindung zu Ihrer Point-of-Sale-Anwendung herzustellen.
Sie können Ihre Erkennung anhand des location
eingrenzen, bei dem Sie das Lesegerät im vorherigen Schritt registriert haben.
public async Task<IImmutableList<Reader>> DiscoverReadersAsync() { try { var config = new DiscoveryConfiguration.Builder() .SetIsSimulated(false) .SetLocation(
) .Build(); Console.WriteLine("Discovered readers"); return await Terminal.Instance.DiscoverReadersAsync(config); } catch (TerminalException ex) { // Placeholder for handling exception throw; } }'{{LOCATION_ID}}'
Mit einem Lesegerät verbindenClientseitig
Um Ihre Point-of-Sale-Anwendung mit einem Lesegerät zu verbinden, rufen Sie ConnectInternetReaderAsync
mit dem ausgewählten Lesegerät auf.
// after selecting a reader to connect to Reader connectedReader; try { var config = new InternetConnectionConfiguration.Builder() .Build(); connectedReader = await Terminal.Instance.ConnectInternetReaderAsync(selectedReader, config); Console.WriteLine("Connected to reader"); } catch (TerminalException ex) { // Placeholder for handling exception throw; }
Mehrere Verbindungen
Es kann immer nur eine Instanz des Stripe Terminal SDK mit einem Lesegerät verbunden werden. Wenn Sie ConnectInternetReaderAsync
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 ConnectInternetReaderAsync
verwendet ein Konfigurationsobjekt mit der Eigenschaft failIfInUse
, deren Standardwert false
ist. Wenn Ihre Anwendung failIfInUse
auf „true“ festlegt, weist der ConnectInternetReaderAsync
-Aufruf ein alternatives Verhalten auf, bei dem die eingehende Verbindung fehlschlägt, wenn sich das Lesegerät mitten in einem CollectPaymentMethodAsync
- oder ConfirmPaymentIntentAsymc
-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 CollectPaymentMethodAsync
aufgerufen wird), bewirkt die Einstellung von failIfInUse
keine Änderung am Verbindungsverhalten und die eingehende Verbindungsanfrage kann die bestehende Verbindung vom SDK zum Lesegerät immer unterbrechen.
// after selecting a reader to connect to Reader connectedReader; try { var config = new InternetConnectionConfiguration.Builder() .SetFailIfInUse(true) .Build(); connectedReader = await Terminal.Instance.ConnectInternetReaderAsync(selectedReader, config); Console.WriteLine("Connected to reader"); } catch (TerminalException ex) { // Placeholder for handling exception throw; }
FailIfInUse ist „false“ (Standard) | FailIfInUse ist „true“ | |
---|---|---|
ConnectInternetReaderAsync 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 OnUnexpectedReaderDisconnect 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 OnUnexpectedReaderDisconnect der App wird aufgerufen. |
ConnectInternetReaderAsync 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 OnUnexpectedReaderDisconnect 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, failIfInUse
beim ersten Verbindungsversuch Ihrer Anwendung auf true
festzulegen. Erlauben Sie Ihren Nutzer/innen dann, den Verbindungsaufbau zu wiederholen, wobei failIfInUse
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 DiscoverReadersAsync
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.
public class TerminalListener : ITerminalListener { // ... Terminal.InitTerminal( connectionTokenProvider: connectionTokenProvider, terminalListener: this, offlineListener: offlineListener, applicationInformation: applicationInformation ); // ITerminalListener public void OnUnexpectedReaderDisconnect(Reader reader) { // 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.
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.