Skip to content
Sign in
An image of the Stripe logo
/
Create account
Sign in
Home
Payments
Finance automation
Banking as a service
Developer tools
No-code
All products
Home
Payments
Finance automation
Home
Payments
Finance automation
Banking as a service
Developer tools
Overview
Get started
About Stripe payments
Start an integration
Payment Links
Checkout
Web Elements
Mobile Elements
Payment scenarios
During the payment
After the payment
Add payment methods
More payment scenarios
Faster checkout with Link
Other Stripe products
Connect
Terminal
    Overview
    What is Terminal
    Design an integration
      Design a multiparty platform
    Example applications
    Quickstart
    Accept an in-person payment
    Select your reader
    Set up your integration
    Connect to a reader
    Collect payments
    Regional considerations
    Supported card brands
    Terminal payments features
    Multiparty payments with Connect
    Collect tips
    Collect inputs
    Save cards for future use
    Refund transactions
    Provide receipts
    Cart display
    Incremental authorizations
    Extended authorizations
    Operate offline
    Deploy at scale
    Order hardware
    Manage locations
    Configure readers
    References
    API references
    Bluetooth readers
    Smart readers
    SDK migration guide
    Testing
    Deployment checklist
    Stripe Terminal reader product sheets
Radar
Financial Connections
Crypto
Identity
Climate
Resources
About the APIs
Implementation guides
Regulation support
Testing
Terminal
·
HomePaymentsTerminal

Design an integration

Choose a reader and platform and see how they work together.
Country:
Reader:
Architecture:
Stripe Reader M2

59 USD

Reader instructions

Product sheet

Order readers and accessories

M2 reader features

  • Miniature reader
  • Optional dock for countertop or mount for mobile roaming
  • Contactless, chip, and swipe payments

Not a coder? Find a Stripe partner who supports Terminal.

Architecture

Write your application using the Terminal SDK. The application uses the SDK to communicate with the reader, your back end, and the Stripe API.

The structure of the integration looks like this:

Integration architecture for Bluetooth readers

You can build a working example of an integration like this using the Terminal Quickstart.

Organize readers and locations

Before you connect a reader to a Terminal integration, you must create one or more Locations, either in the Dashboard or using the API. Then, when you connect to your reader, specify one of those locations.

Locations represent physical places where your readers operate. Stripe needs location information to process payments correctly and keep your reader up to date. If your business requires you to move your readers frequently, your locations may use addresses that represent a primary place of business.

Prototyping

When you first begin writing your application, you can test it with a simulated reader and simulated cards. The Terminal Quickstart demonstrates an app at this stage of development.

When you’re ready to work with actual hardware, follow these steps:

  1. Order an M2 reader and physical test cards.
  2. Connect to the reader using Bluetooth or USB.
  3. Test your logic with physical test cards.

Next steps

  • Set up your integration to start writing code.
  • See Terminal Quickstart for a full code example.
  • Order readers, accessories, and test cards when you’re ready to work with physical hardware.
Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$