Skip to content

Stripe M2 stuck in connecting state #1068

@marvinklein

Description

@marvinklein

Describe the bug
Periodically, after many hours or days of being connected which sometimes spans one or more of the forced 24-hour terminal reboots and update installations, the Bluetooth Stripe M2 card reader gets stuck in a connecting state. We use react-native-terminal via Expo. The symptoms of this state are:

  • getConnectionStatus() returns a status of 'connecting'
  • getConectedReader() returns a reader object with a status of 'offline'
  • the M2's status lights are Scanning back and forth indicating that the reader is on and awaiting a connection
  • the terminal/SDK remain in this state indefinitely and no additional events are sent

While the terminal/sdk are in this state, calls to createPaymentIntent never return/resolve.

Reloading the app's javascript bundle does not resolve the issue. The native SDK continues to return the same state information as above.
After completely closing and reopening the app the SDK returns no connected reader and a 'disconnected' connection status and we can connect to the reader without issue.

To Reproduce
Unfortunately this is extremely hard to reproduce but we see this happen consistently in production where our app is connected to a terminal for days or weeks.

Stripe Terminal React Native SDK version

  • stripe-terminal-react-native: 0.0.1-beta.26,
  • expo: 52.0.47
  • react-native: 0.76.9

Point of sale device

  • Device: 6th Gen iPad
  • OS: iOS 18.6.2
  • Connection type: Bluetooth

Reader device

  • Reader type: M2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions