After creating Locations, you can use them to help you group readers, improve reader discovery flows, customize their settings by physical location, and more. This can be especially helpful for marketplaces with many connected accounts.
Scoping connection tokens Server-side Internet-connected readers
When creating a ConnectionToken for the Terminal SDK, you may provide a
location parameter to control access to internet-connected readers. If you provide a location, the ConnectionToken is only usable with internet-connected readers assigned to that location. If you don’t provide a location, the ConnectionToken is usable with all readers.
Registering a reader to a location
Your reader must be registered to a location in order to accept payments. The process for registering your reader to a location differs based on whether it’s an internet-connected reader or a Bluetooth reader.
Internet-connected readers Server-side
You can also register readers in the Dashboard, under Locations.
Bluetooth readers Client-side
Register Bluetooth readers like the BBPOS Chipper 2X BT and BBPOS WisePad 3 to a location while connecting to the reader by specifying the
locationId in your
BluetoothConnectionConfiguration. If you’d like, you can register the reader to the last used location by passing in the
reader.locationId from a discovered reader.
Filtering discovered readers
Internet-connected readers Client-side
Your application uses the SDK’s
discoverReaders method to look for readers it can connect to. When discovering an internet-connected reader like the Verifone P400 or BBPOS WisePOS E, you can discover the intended reader more easily by filtering results by location.
With the code below, only readers in a given location are returned to your app’s callback. You can find the location’s ID in the Dashboard, under Locations.
Bluetooth readers Client Side
Because mobile readers use Bluetooth for connection,
discoverReaders returns all nearby readers. No additional filtering is applied by default. However, you can utilize the returned
registeredLocation parameter on the Reader object to optionally apply additional filtering in your application.