Reader Info
Provides information about an individual card reader at a given time. This is an immutable snapshot of the reader's past state, not a live model object. Updates are provided via callbacks registered via ReaderManager.setReaderChangedCallback.
Parameters
String that identifies this reader. For "smart" readers, this represents the mac address of the device. If the reader is a magstripe reader, the ID will be a string identifying it as a magstripe reader.
Type of the reader, one of the Model.
Current state of the reader, see State. A reader in State.Ready can be used to take a payment (even if it is also getting a non-blocking firmware update), but other states mark a reader that cannot be used. It is fine to start a payment with a non-Ready reader, however: the payment might be paid with manually-entered information, or the reader might become State.Ready later in the course of the payment.
Unique but not particularly informative string that identifies this reader. Provided by "smart" readers. This represents the serial number of the device. A null value indicates that the smart reader has not yet provided a serial or that the device isn't a smart reader.
Readable and hopefully-unique name for this reader. Unlike the return from serialNumber, which is guaranteed to be different from any other reader, the name is only unlikely to be duplicated by other readers.
Current battery information. Returns null
for readers without a battery, such as the magstripe reader. See BatteryStatus.
Unique identifier of the firmware currently installed on the reader. If the firmware version is not identifiable (e.g. magstripe readers), returns null
.
set only if either a blocking or non-blocking firmware update is in progress. If set, it is an integer from 0 to 100 inclusive with an estimate of the update percentage completed. For a blocking firmware update, the state will be State.UpdatingFirmware, but for the more common non-blocking update, the state will typically be State.Ready or possibly State.Connecting.
Set of card entry methods this reader can support. At a given time, a reader might not be able to use all the "supported" payment methods. In particular, for a CardEntryMethod.CONTACTLESS the contactless NFC field will time out a while after a payment begins, and after that a contactless tap will not work, even though contactless payments are supported by the reader. Because these changes to the available payment methods happen in the context of a payment, they are reported through the com.squareup.sdk.mobilepayments.payment.PaymentManager instead. See CardEntryMethod for possible entry values.
Indicates whether reader can be "forgotten", either to permanently remove the reader, or to allow it to pair again "from scratch".
Indicates whether reader has LEDs to blink. This can be used to identify a particular reader among several, with the ReaderManager.blink method.
Constructors
Types
Status of the reader's battery.
Optional explanation for a State.Disconnected state. In many cases, such as when initially started, the application may not have any additional details, but this class will be available from the state when we do.
Reason for ReaderInfo.State.FailedToConnect status.
Enumerates the possible UX hints for a denied connection reason
The model of reader.