| [ Web Proxy ] |
| Viewing: https://docs.stripe.com/terminal/designing-integration | [Back] [Original] |
A custom Terminal integration usually includes:
The Terminal SDK or server-driven integration coordinates communication between your point-of-sale application, the reader, and Stripe so you can collect in-person payments and manage them with the rest of your Stripe payments.
For smart readers, use a server-driven integration to control the reader directly with the Stripe API. Use the iOS, Android, or React Native SDKs for smart readers, mobile readers, and Tap to Pay. Use the JavaScript SDK only for web-based POS integrations with smart readers. The reader collects payment details, and your integration uses Terminal SDK or API flows to complete the payment.
Most custom integrations follow these steps:
Use the selectors to choose your country, reader, and integration platform to show only the setup steps and code samples that apply to your specific configuration. If youre unsure which reader to choose, see Select your reader for a comparison of available readers.
Server-driven integration doesnt support:
If you dont write code, you can find a Stripe partner who supports Terminal.
In a server-driven integration, your POS device connects to your server. Your server then makes Stripe API calls, and Stripe updates the reader and returns the result.
The structure of the integration looks like this:
You can use simulated and physical readers as youre building your integration.
When you begin writing your application, you can test it with a simulated reader and simulated cardsno reader hardware required. This lets you build and verify your complete integration without needing physical hardware. The Terminal Quickstart demonstrates an app at this stage of development.
When youre ready to work with actual hardware, you can extend your integration to a physical device. Follow these steps:
Stripe requires a Location to be associated with every Terminal reader, including a simulated reader. Before you connect a reader to a Terminal integration, you must create one or more Locations, either in the Dashboard or using the API. 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 can use addresses that represent a primary place of business.
| Web Proxy Viewer | New URL | Original Page |