ReaderCapability class

Capability flags describing what a reader / driver can actually do.

The POS treats an absent flag as false: capabilities the native driver did not advertise are assumed unavailable. JSON payloads therefore omit false flags to keep the wire compact; a fresh ReaderCapability() is also entirely empty on the wire.

metadata is the extension point: vendor adapters can stuff vendor-specific signals there (e.g. "supports zero-amount auth", firmware-feature flags). The contract does not interpret it; POS code that cares peeks into it by vendor.

Constructors

ReaderCapability({bool swipe = false, bool chip = false, bool tap = false, bool manualEntry = false, bool pin = false, bool signature = false, bool battery = false, bool firmware = false, bool serialNumber = false, bool fallback = false, bool displayMessages = false, bool contactless = false, bool refunds = false, bool voids = false, Map<String, dynamic>? metadata})
const
ReaderCapability.fromJson(Map<String, dynamic> json)
factory

Properties

battery → bool
Reader reports battery level / charging state.
final
chip → bool
EMV chip-insert reads.
final
contactless → bool
Reader hardware supports the contactless interface (NFC). This is conceptually a superset of tap - a reader may support the contactless interface and still be configured to refuse a tap.
final
displayMessages → bool
Reader can render display prompts directed by the SDK.
final
fallback → bool
EMV chip-read fallback to magstripe is supported.
final
firmware → bool
Reader reports firmware version.
final
hashCode → int
The hash code for this object.
no setteroverride
manualEntry → bool
PAN entered by hand (on-reader keypad, when present).
final
metadata → Map<String, dynamic>?
Vendor-specific extension. The contract does not interpret it. Must not carry sensitive data (PAN, KSN, ARQC, etc.).
final
pin → bool
PIN entry on the reader keypad.
final
refunds → bool
Refund transactions are supported by the driver path.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
serialNumber → bool
Reader reports a hardware serial number.
final
signature → bool
Signature capture on the reader (or directed by the reader).
final
swipe → bool
MagStripe swipe reads.
final
tap → bool
Contactless / NFC tap (consumer-side surface of contactless).
final
voids → bool
Void transactions are supported by the driver path.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
Serialize. Omits false flags so the wire payload stays compact and "absence = false" is symmetric.
toString() → String
Concise human-readable list of advertised capabilities. Skips metadata to keep logs from accidentally surfacing caller-controlled payloads.
override

Operators

operator ==(Object other) → bool
The equality operator.
override