Example Applications Beta

    Try Stripe Terminal in minutes by using our example applications and simulated reader.

    Before starting your own integration, we recommend setting up one of the Terminal example applications. This will give you a better feel for how the components of a Terminal integration fit together, and show you the interactions between the SDK, the reader, your point of sale application, and your backend code.

    A Stripe Terminal integration starts with your point of sale application running at a physical location. Using the Stripe Terminal SDK, the point of sale application communicates with a reader to collect physical payment methods from your customers. Your backend works with your point of sale application to authenticate the Terminal SDK and finalize payments.

    Step 1: Deploy our example backend

    To get started with our example applications, set up our Sinatra-based example backend, which you can deploy to Heroku with a free account. The example backend works with the example application to authenticate the Terminal SDK and finalize payments. To set up the example backend, follow the instructions in the README.

    Step 2: Run the example app

    Next, build and run one of our example applications:

    1. Clone the example from GitHub:
    git clone https://github.com/stripe/stripe-terminal-js-demo.git
    
    1. Run the following commands to run the example:
    2. cd stripe-terminal-js-demo
      npm install
      npm run start
      
      1. In the running example, enter the URL of the Heroku app you just deployed.
    1. Clone the example app from GitHub:
    git clone https://github.com/stripe/stripe-terminal-ios.git
    1. Open Example/Example.xcodeproj in Xcode.
    2. In RootViewController.swift, set the URL of the Heroku app you just deployed.
    3. Build and run the app.
    1. Clone the example app from GitHub:
    git clone https://github.com/stripe/stripe-terminal-android.git
    
    1. Import the Example project into Android Studio.
    2. In ApiClient.kt, set the URL of the Heroku app you just deployed.
    3. Build and run the app.

    Step 3: Connect to a simulated reader

    After you have the example running, select the Simulated option to connect to a simulated reader.

    The JavaScript example app connected to a simulated reader

    The iOS example app connected to a simulated reader

    The Android example app connected to a simulated reader

    The simulated reader handles events just like a physical reader, so you can continue to collecting your first payment and see it work.

    The simulated reader functionality is built into the SDK, so you can use it to develop and test your own point of sale application without connecting to a physical device.

    Step 4: Collect your first payment

    Finally, collect your first payment using the example application and a simulated reader. Each of our examples features an event log for you to reference as you integrate Terminal in your own application. As you collect your first payment, you’ll see the following sequence:

    • Create payment: Example application collects a payment method via the SDK
    • Collect payment method: Simulated reader receives a card
    • Process and capture: Example application and backend finalize the payment

    Collecting a payment, using the JavaScript example and a simulated reader

    Collecting a payment, using the iOS example app and a simulated reader

    Collecting a payment, using the Android example app and a simulated reader

    Next steps

    Congratulations! You've created your first Stripe Terminal payment. Next, design your full integration, choosing an SDK and reader that work best for your business.

    Questions?

    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.

    Was this page helpful? Yes No

    Send

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

    On this page