Designing an Integration

    Learn about Terminal integration options and choose an SDK and reader combination that works best for you.

    Before you order readers or begin integrating, it’s important to understand the big picture. You can plan a Stripe Terminal integration for your business in three steps:

    1. Pick the reader type that works best for the in-person payments experience you want to create. Though Stripe Terminal is designed to support multiple reader types in a single deployment, most businesses pick one.
    2. Choose an SDK type that’s compatible with your chosen reader type and existing software.
    3. Learn about the high-level architecture for your deployment, based on your choice of reader type and SDK.

    Choosing your reader

    Currently, Stripe Terminal offers two kinds of readers, the BBPOS Chipper 2X BT and the Verifone P400:

    BBPOS Chipper™ 2X BT

    The handheld, mobile reader that connects to iOS and Android applications

    A depiction of product creation in the Stripe Dashboard
    • Create a roaming cashier experience, where customers can pay anywhere
    • Works with iOS and Android SDKs
    • Uses Bluetooth, optimized for mobile checkout experiences
    • Accepts tap, swipe, and dip payment methods

    Verifone® P400

    The countertop reader with customer-facing screen for JavaScript applications

    A sample of Stripe Checkout Session creation code
    • Create a countertop checkout, with customizable customer-facing display
    • Works with the JavaScript SDK
    • Requires internet connection, best for stationary counter checkout
    • Accepts tap, swipe, and dip payment methods

    Choosing your SDK

    The Stripe Terminal SDK is available for JavaScript, iOS, and Android. If you already have an application in one of these programming languages, use the corresponding SDK. If you want to use the Verifone P400 you must use the JavaScript SDK. If you want to use the BBPOS Chipper 2X BT you can use either the iOS or Android SDKs. For new point of sale applications, use a language you’re comfortable in.

    Planning your deployment

    After picking the reader and SDK type for your Terminal integration, learn the high-level architecture for your deployment.

    BBPOS Chipper 2X BT

    When using the BBPOS Chipper 2X BT, the Terminal SDK facilitates communication between the reader, your application, your backend, and the Stripe API. In this integration, your application runs on a mobile device or tablet, displaying a checkout UI for both the customer and cashier.

    Verifone P400

    If you use a Verifone P400, the reader screen provides the customer-facing checkout experience and your application provides the cashier-facing UI. The reader runs embedded Stripe reader software to connect to your application over the local network and to Stripe over the internet.

    Your web application provides the UI for the cashier. The Verifone P400 is compatible with the JavaScript SDK (with support for Android and iOS coming soon). If you integrate your application with the JavaScript SDK, you can run it in the browser on a mobile device or tablet, as long as the device is connected to the same local network as the reader.

    Next steps

    After deciding what type of integration you'd like to build, start integrating the Stripe Terminal SDK.

    The BBPOS and Chipper™ name and logo are trademarks or registered trademarks of BBPOS Limited in the United States and/or other countries. The Verifone® name and logo are either trademarks or registered trademarks of Verifone in the United States and/or other countries. Use of the trademarks does not imply any endorsement by BBPOS or Verifone.

    Was this page helpful?

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.


    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    On this page