SCPTerminalDelegate

Objective-C

@protocol SCPTerminalDelegate <NSObject>

Swift

protocol TerminalDelegate : NSObjectProtocol

Implement this protocol to handle connection and payment updates from the Stripe Terminal iOS SDK.

  • The reader disconnected unexpectedly (that is, without your app explicitly calling disconnectReader).

    In your implementation of this method, you should notify your user that the reader disconnected. You may also want to call discoverReaders to begin scanning for readers. Your app can attempt to automatically reconnect to the disconnected reader, or display UI for your user to re-connect to a reader.

    You can trigger this call in your app by powering off the connected reader.

    Note

    When connected to a Bluetooth reader you can get more information about the disconnect by implementing the SCPBluetoothReaderDelegates reader:didDisconnect: method.

    Declaration

    Objective-C

    - (void)terminal:(nonnull SCPTerminal *)terminal
        didReportUnexpectedReaderDisconnect:(nonnull SCPReader *)reader;

    Swift

    func terminal(_ terminal: Terminal, didReportUnexpectedReaderDisconnect reader: SCPReader)

    Parameters

    terminal

    The originating terminal.

    reader

    The previously connected reader.

  • The currently connected reader’s connectionStatus changed.

    You should not use this method to detect when a reader unexpectedly disconnects from your app, as it cannot be used to accurately distinguish between expected and unexpected disconnect events. To detect unexpect disconnects (e.g. to automatically notify your user), you should instead use the -[SCPTerminalDelegate terminal:didReportUnexpectedReaderDisconnect:] method.

    Declaration

    Objective-C

    - (void)terminal:(nonnull SCPTerminal *)terminal
        didChangeConnectionStatus:(SCPConnectionStatus)status;

    Swift

    optional func terminal(_ terminal: Terminal, didChangeConnectionStatus status: ConnectionStatus)

    Parameters

    terminal

    The originating terminal.

    status

    The SDK’s new connection status.

  • The currently connected reader’s paymentStatus changed.

    Declaration

    Objective-C

    - (void)terminal:(nonnull SCPTerminal *)terminal
        didChangePaymentStatus:(SCPPaymentStatus)status;

    Swift

    optional func terminal(_ terminal: Terminal, didChangePaymentStatus status: PaymentStatus)

    Parameters

    terminal

    The originating terminal.

    status

    The SDK’s new payment status.