Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
Security
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
What is Terminal
Design an integration
Choose a reader and integration
Design a multiparty platform
Example applications
Quickstart
Accept an in-person payment
Set up your reader
Set up your integration
Connect to a reader
Collect payments
Regional considerations
Terminal payments features
Multiparty payments with Connect
Collect tips
Save cards for future use
Refund transactions
Provide receipts
Cart display
Incremental authorizations
Extended authorizations
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
Testing
No-code options
terminal
·
HomePaymentsIn-person payments

Design an integration

Plan the high-level architecture for your Terminal deployment.

For an immersive guide, check out our sample integration.

Plan your Stripe Terminal integration by doing the following:

  1. Choose the reader that works best for your business. Stripe Terminal can support multiple reader types in a single deployment, but most businesses choose one.
  2. Choose an integration type (SDK or server-driven) that’s compatible with your reader and existing software.
  3. Decide on the high-level architecture for your deployment, based on your reader and integration type.

Integration comparison table

Android SDKiOS SDKReact Native SDKJavaScript SDKServer-driven integration mode
Support for Bluetooth readers
Support for smart readers
Available countriesAll countries where Terminal is supported US only

Support for payment features:

  • Multiparty payments with Connect
  • Collect tips
  • Save cards for future use
  • Refund transactions
  • Provide receipts
  • Display cart details
  • Incremental authorizations
  • Extended authorizations

Bluetooth readers

Bluetooth readers are compatible with the Android and iOS SDKs only. You can’t use the server-driven integration with this reader type.

When using Bluetooth readers, 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.

Integration architecture for Bluetooth readers

Smart readers

Smart readers are compatible with the server-driven integration mode and the Android, iOS, and JavaScript SDKs.

Server-driven integration US only

For BBPOS WisePOS E readers in the United States, we recommend the server-driven integration, which uses the Stripe API instead of a Terminal SDK to collect payments.

Server-driven integration architecture

SDK integration

When using smart readers, 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.

WisePOS E Integration Architecture

Organize readers and locations

Whether you deploy Terminal in a single store or thousands of stores, you must use Locations to:

  • Group and manage your fleet of readers
  • Ensure that your readers download the proper regional configurations
  • Optimize payment authorization rates

Create a location for each physical operating site. If you or your merchants don’t operate in fixed locations, create and assign your readers to a primary location where most of the payment volume is processed. We recommend the primary location be accurate to the city and state level at minimum.

Next steps

  • Choose a reader
  • Design a multiparty platform
Was this page helpful?
Questions? Contact us.
View developer tutorials on YouTube.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Bluetooth readers
Smart readers
Organize readers and locations
Stripe Shell
Test mode
▗▄ ▄▟█ █▀▀ ▗▟████▙▖ ██████ ███▗▟█ ███ ███▗▟██▙▖ ▗▟█████▙▖ ███▖ ▀▀ ███ ███▀▀▀ ███ ███▀ ███ ███ ███ ▝▜████▙▖ ███ ███ ███ ███ ███ █████████ ▄▄ ▝███ ███ ▄ ███ ███ ███▄ ███ ███ ▄▄ ▝▜████▛▘ ▝▜███▛ ███ ███ ███▝▜██▛▘ ▝▜█████▛▘ ███ ▀▘
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to Stripe docs and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported 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.
$