# Connect to a reader

Connect your application to a Stripe Terminal reader.

> If you haven’t chosen a reader yet, compare the available [Terminal readers](https://docs.stripe.com/terminal/payments/setup-reader.md) and choose one that best suits your needs.

# Simulated Reader


Stripe provides a simulated server-driven reader so you can develop and test your app and simulate Terminal payments, without connecting to physical hardware.

## Create a simulated reader

To create a simulated reader, use one of the designated registration codes (`simulated-wpe`, `simulated-t600`, `simulated-s700`, or `simulated-s710`) when registering the reader. This registration code creates a simulated WisePOS E, Stripe T600 reader, Stripe S700 reader, or Stripe S710 reader object in a sandbox only. The `device_type` of the returned reader matches the code you use—for example, `simulated-t600` returns a reader with a `device_type` of `simulated_stripe_t600`. You can register the simulated reader using the Stripe API:

```curl
curl https://api.stripe.com/v1/terminal/readers \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "location={{TERMINALLOCATION_ID}}" \
  -d registration_code=simulated-wpe
```

This returns a [reader](https://docs.stripe.com/api/terminal/readers.md) object representing your simulated reader:

```json
{
  "id": "tmr_xxx",
  "object": "terminal.reader",
  "device_sw_version": "2.37.2.0",
  "device_type": "simulated_wisepos_e",
  "ip_address": "0.0.0.0",
  "label": "simulated-wpe-xxx-xxx-xx-xxx",
  "livemode": false,
  "location": "tml_xxx",
  "serial_number": "simulated-wpe-xxx-xxx-xx-xxx",
  "status": "online"
}
```

## Query your simulated reader

The simulated reader behaves like a real reader. You can retrieve its information from the [reader endpoint](https://docs.stripe.com/api/terminal/readers/retrieve.md):

```curl
curl https://api.stripe.com/v1/terminal/readers/tmr_xxx \
  -u "<<YOUR_SECRET_KEY>>:"
```

```json
{
  "id": "tmr_xxx",
  "object": "terminal.reader",
  "action": null,
  "device_sw_version": "2.37.2.0",
  "device_type": "simulated_wisepos_e",
  "ip_address": "0.0.0.0",
  "label": "simulated-wpe-xxx-xxx-xx-xxx",
  "livemode": false,
  "location": "tml_xxx",
  "metadata": {
  },
  "serial_number": "simulated-wpe-xxx-xxx-xx-xxx",
  "status": "offline"
}
```


## Next steps

You’ve connected your application to the reader. Next, [collect your first Stripe Terminal payment](https://docs.stripe.com/terminal/payments/collect-card-payment.md).

The BBPOS and Chipper™ name and logo are trademarks or registered trademarks of BBPOS Limited in the United States or other countries. The Verifone® name and logo are either trademarks or registered trademarks of Verifone in the United States and/or other countries. Use of the trademarks doesn’t imply any endorsement by BBPOS or Verifone.
