knownReaderProfiles top-level constant
Static registry of reader profiles the contract recognizes today.
This list is descriptive, not prescriptive: the SDK does not
say "only these readers are supported." Unknown readers are
surfaced with vendor: ReaderVendor.unknown and POS code can
decide whether to attempt a generic flow.
Capability flags below are conservative starting values. The follow-up vendor-SDK integration PRs are responsible for confirming each capability against the vendor's specification and adjusting these defaults. This branch is contract / capability modeling only - no vendor SDK is linked, so the flags here are a contract intent not a runtime guarantee.
Implementation
const List<ReaderProfile> knownReaderProfiles = [
ReaderProfile(
vendor: ReaderVendor.magtek,
modelName: 'MagTek DynaFlex II Go',
modelCode: 'dynaflex_ii_go',
driverId: 'magtek.dynaflex_ii_go.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
battery: true,
firmware: true,
serialNumber: true,
displayMessages: true,
),
),
ReaderProfile(
vendor: ReaderVendor.magtek,
modelName: 'MagTek iDynamo 6',
modelCode: 'idynamo_6',
driverId: 'magtek.idynamo_6.lightning',
supportedTransports: [ReaderTransport.lightning, ReaderTransport.usb],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
firmware: true,
serialNumber: true,
displayMessages: true,
),
),
ReaderProfile(
vendor: ReaderVendor.idTech,
modelName: 'ID TECH VP3300',
modelCode: 'vp3300',
driverId: 'idtech.vp3300.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe, ReaderTransport.usb],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
battery: true,
firmware: true,
serialNumber: true,
fallback: true,
),
),
ReaderProfile(
vendor: ReaderVendor.idTech,
modelName: 'ID TECH VP3350',
modelCode: 'vp3350',
driverId: 'idtech.vp3350.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
battery: true,
firmware: true,
serialNumber: true,
displayMessages: true,
fallback: true,
),
),
ReaderProfile(
vendor: ReaderVendor.ingenico,
modelName: 'Ingenico Link/2500',
modelCode: 'link_2500',
driverId: 'ingenico.link_2500.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
pin: true,
signature: true,
battery: true,
firmware: true,
serialNumber: true,
displayMessages: true,
refunds: true,
voids: true,
),
),
ReaderProfile(
vendor: ReaderVendor.ingenico,
modelName: 'Ingenico Moby/5500',
modelCode: 'moby_5500',
driverId: 'ingenico.moby_5500.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
pin: true,
battery: true,
firmware: true,
serialNumber: true,
displayMessages: true,
refunds: true,
voids: true,
),
),
ReaderProfile(
vendor: ReaderVendor.bbpos,
modelName: 'BBPOS Chipper 3X BT',
modelCode: 'chipper_3x_bt',
driverId: 'bbpos.chipper_3x_bt.bluetooth_le',
supportedTransports: [ReaderTransport.bluetoothLe],
supportedEntryModes: [EntryMode.chip, EntryMode.tap, EntryMode.swipe],
capabilities: ReaderCapability(
swipe: true,
chip: true,
tap: true,
contactless: true,
battery: true,
firmware: true,
serialNumber: true,
),
),
];