DEV Community

Cover image for Get Paid IRL (Part 1) Register and setting up card readers
Charles Watkins for Stripe

Posted on • Updated on

Get Paid IRL (Part 1) Register and setting up card readers

Did you know that you can accept in-person payments with Stripe?

In this series, we’re going to dive headfirst into building an in-person payments web app using Stripe Terminal and the WisePOS E card reader.

Stripe Terminal is a set of APIs and SDKs that allow you to process payments with one of Stripe’s supported card readers and Stripe’s core payment APIs. In this series, we’ll be integrating using the API-only server-driven integration path.

In this inaugural post, we walk through the first step: registering a Stripe Terminal reader to your account.

Don’t have a WisePOS E card reader on hand? No worries! We’ll cover how to set up a simulated reader for testing and development. Want to test with the real thing? You can order a card reader from your Stripe Dashboard’s Terminal shop.

Registering a Stripe Terminal card reader

In this tutorial, we’ll walk through registering a card reader and simulated card reader for Stripe Terminal. For simplicity’s sake, we’ll be using the Stripe Dashboard to register our readers, but you can use Stripe Terminal’s APIs to build your own registration flow as well.

In order to register a card reader to your Stripe account, you need to take two steps:

  1. Create a Location so that you can assign the reader to a physical location
  2. Register the reader to a Location using its registration code

Creating a Location

Navigate to your Stripe Dashboard and go to the Terminal dashboard by clicking More in the navigation menu and then Terminal.

You may be prompted with some pricing information about Terminal. You won’t be charged anything until you start taking live payments. In this series, we’ll only be doing things in test mode.

With your account in Test mode, navigate to Locations and create a Location. Locations are used to group readers to a physical place. A Stripe Terminal integration could include hundreds of readers across multiple stores. Assigning a reader to a Location makes it easy to filter and retrieve the right readers for the right store. They’re also used to configure the reader, so every reader must be assigned to a Location.

To create a Location click +New in the Locations section and enter the location’s Name and Address information.

Creating a Stripe Location for registering readers by adding a name and address information

The next step is registering a WisePOS E reader to your newly created Location.

Registering a card reader to a Location

You can register a device to a Location by clicking +New near Readers.

Stripe's line-up of card readers: the Stripe Reader M2, BBPOS Chipper 2X BT, BBPOS WisePad 3, BBPOS WisePOS E, Verifone P400


If you have a WisePOS E, you’ll want to turn it on and connect it to WiFi from the Settings. Keep in mind that the WiFi must use WPA-Personal or WPA2-Personal encryption with password protection. Enterprise and unsecured networks aren’t compatible with Stripe Terminal.

Once your WisePOS E has been connected to WiFi, your reader will automatically show its registration code if it's an unregistered device.

WisePOS E Reader transitioning from powering on, to WiFi connection, to displaying the registration code on first start up

You can also get the device’s registration code by swiping left on the device to open the Settings menu and clicking Registration Code.

In either case, type the registration code you see on the device in the Registration code field.

Registering a physical WisePOS E Reader by inputting the registration code displayed on the device in the Register reader modal that's display after clicking +New in Locations

Simulated WisePOS E

If you don’t have a reader, you can use a simulated WisePOS E for testing and development by inputting simulated-wpe as the registration code.

Clicking +New in our newly created Location and registering a simulated WisePOS E Reader by inputting the simulated-wpe registration code in the Register reader modal that's display after clicking +New in Locations

Whether you’ve set up a simulated or real WisePOS E, you should now see a simulated or physical device registered to your new location. For Stripe’s server-driven integration, this is all that’s required to setup the reader.

Next up: Retrieving and rendering Stripe Terminal Readers

In our next post, we’ll learn how to retrieve our readers from Stripe's Terminal Reader API and render them in a web app so that we can prompt them to collect in-person payments.

Stay connected

Want to stay up to date on Stripe’s latest integrations, features, and open-source projects?

📣 Follow us on Twitter
💬 Join the official Discord server
📺 Subscribe to our Youtube channel
📧 Sign up for the Dev Digest

About the author

The author, Charles Watkins

Charles Watkins is a Developer Advocate at Stripe where he writes, codes, and livestreams about online payments. In his spare time, he enjoys drawing, gaming, and rewatching the first five seasons of Game of Thrones.

Top comments (1)

thanhuk profile image

Hi, thanks for the guidance. Is it possible to use Stripe Terminal and card reader to collect card details for subscription payment?