> For the complete documentation index, see [llms.txt](https://developer.magtek.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.magtek.com/hardware/card-readers/mms-dyna-devices/dynaprox/documents/programmers-manuals/programmers-manual-commands/introduction.md).

# Introduction

### About This Document <a href="#toc195712986" id="toc195712986"></a>

This document describes how to communicate with Secure Card Reader Authenticator (SCRA) devices which implement MagTek Messaging Schema (MMS) and the DynaFlex II Go system architecture.

The document uses bold face to:

* Highlight terms / concepts being formally defined in the current sentence / paragraph
* Highlight important distinguishing keywords in sentences
* Indicate hyperlinks to other sections / tables

The document uses a small number of annotation standards that are important to understand:

* Hexadecimal values are prefixed with 0x unless the context clearly indicates an un-prefixed number is hexadecimal (for example, TLV tags, lengths, and values are always assumed to be hex).
* Binary values are prefixed with 0b unless the context clearly indicates the value is binary.
* Decimal values are not prefixed unless required for clarity, in which case the prefix is 0d.

The standard documented by this document makes extensive use of Tag-Length-Value encoding.  Section - Tag-Length-Value (TLV) Encoding describes how to encode and decode TLV, and how to read the tables in this document that describe TLV data objects.

### About Terminology <a href="#toc195712987" id="toc195712987"></a>

The general terms “device” and “host” are used in different, often incompatible ways in a multitude of specifications and contexts.  For instance, the term "host" can signify different things depending on the context—such as USB communication versus networked financial transaction processing. In this document, "device" and "host" are defined specifically as follows:

* Device refers to the Secure Card Reader Authenticator (SCRA) or PIN Entry Device (PED) that receives and responds to the command set specified in this document.  Refer to Table 1.6‑1 - Device Features, to determine a device’s specific capabilities, not all devices support PIN entry.  Devices include DynaFlex, DynaProx, DynaFlex II, and so on.
* Host refers to the piece of general-purpose electronic equipment the device is connected or paired to, which can send data to and receive data from the device.  Host types include PC and Mac computers/laptops, tablets, smartphones, teletype terminals, and even test harnesses.  In many cases the host may have custom software installed on it that communicates with the device.  When “host” must be used differently, it is qualified as something specific, such as “acquirer host” or “USB host.”

Similarly, the word “user” is used in different ways in different contexts.  This document separates users into more descriptive categories:

* The cardholder
* The operator (such as a cashier, bank teller, customer service representative, or server), and
* The developer or the administrator (such as an integrator configuring the device for the first time).

Because some connection types, payment brands, and other vocabulary name spaces (notably Bluetooth® LE, EMV, smart phones, and more recent versions of Windows) use very specific meanings for the term “Application,” this document favors the term host software to refer to software on the host that provides a user interface for the operator.

The combination of device(s), host(s), host software, device firmware, device configuration settings, physical mounting and environment, user experience, and documentation is referred to as the solution.

### &#x20;About SDKs and Sample Code <a href="#toc195712988" id="toc195712988"></a>

MagTek provides convenient SDKs and corresponding documentation for many programming languages and operating systems.  The API libraries included in the SDKs wrap the details of the connection in an interface that conceptually parallels the device’s internal operation, freeing software developers to focus on the business logic, without having to deal with the complexities of platform APIs for connecting to the various available connection types, communicating using the various available protocols, and parsing the various available data formats.  Information about using MagTek wrapper APIs is available in separate documentation, including:

* D998200380 MagTek Universal SDK Programmer’s Manual (Microsoft .NET)
* D998200381 MagTek Universal SDK Programmer’s Manual (Microsoft C++ )
* D998200385 MagTek Universal SDK Programmer’s Manual (Java)
* D998200386 MagTek Universal SDK Programmer’s Manual (iOS)
* D998200387 MagTek Universal SDK Programmer’s Manual (Android)
* D998200388 MagTek Universal SDK Programmer’s Manual (macOS)

The documentation is bundled with the SDKs themselves, which include:

* 1000007351 MagTek Universal SDK for MMS Devices (Windows)
* 1000007352 MagTek Universal SDK for MMS Devices (Android)
* 1000007353 MagTek Universal SDK for MMS Devices (iOS)
* 1000007354 MagTek Universal SDK for MMS Devices (macOS)

The SDKs and corresponding documentation include:

* Functions for sending the direct commands described in this manual
* Wrappers for commonly used commands that further simplify development
* Sample source code to demonstrate how to communicate with the device using the direct commands described in this manual

To download the SDKs and documentation, search [www.MagTek.com](http://www.magtek.com) for “SDK” and select the SDK and documentation for the programming languages and platforms you need or contact MagTek Support Services for assistance.

Software developers also have the option to revert to direct communication with the device using libraries available in the chosen development framework.  For example, custom software written in Visual Basic or visual C++ may make API calls to the standard Windows USB HID driver.  This document provides information and support for developing host software using that method.

MagTek has also developed sample software that demonstrates direct communication with the device, which software developers can use to test the device and which provides a starting point for developing other software.  For more information, see the MagTek web site, or contact your reseller or MagTek Support Services.

### About Connections and Data Formats <a href="#toc195691410" id="toc195691410"></a>

MMS products transmit data using a set of common data formats across a variety of physical connection layers, which can include universal serial bus (USB) acting as a vendor-defined HID device (“USB HID”), wireless LAN (WLAN), Bluetooth®, Bluetooth® Low Energy (“Bluetooth® LE”), RS-232, Apple Lightning, and so on.  The set of available physical connection types and the data formats available on each connection type is device dependent.  Table 1.5‑1 shows the physical connection types available on each product, and the data formats supported on each connection type for that device.  Details about connection types and formats can be found in section 2 Connection Types.  Section headings in this document include tags that indicate which connection types and/or data formats they apply to.

## Table - Device Connection Types / Data Formats

<table data-header-hidden><thead><tr><th></th><th width="136.54547119140625"></th><th width="87.99993896484375"></th><th width="59.818115234375"></th><th width="74.3636474609375"></th><th width="69.1817626953125"></th><th width="92.63653564453125"></th></tr></thead><tbody><tr><td><p> </p><p>Product / Connection</p><p> </p></td><td><p> </p><p>Bluetooth®® LE GATT</p><p> </p></td><td><p> </p><p>RS‑232 / UART</p><p> </p></td><td><p> </p><p>USB HID</p><p> </p></td><td>WLAN</td><td>iAP2</td><td>Ethernet</td></tr><tr><td><p> </p><p>DynaFlex with USB Only</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaFlex Pro with USB Only</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaFlex Pro w/WLAN</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td>WLAN</td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaProx</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>SLIP</p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td>iAP2-USB</td><td> </td></tr><tr><td><p> </p><p>DynaFlex II with USB Only</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaFlex II PED with USB Only</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaFlex II PED w/WLAN</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td>WLAN</td><td> </td><td> </td></tr><tr><td><p> </p><p>DynaFlex II Go with USB Only</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td>iAP2-USB</td><td> </td></tr><tr><td><p> </p><p>DynaFlex II Go w/Bluetooth® LE</p><p> </p></td><td><p> </p><p>GATT</p><p> </p></td><td><p> </p><p> </p><p> </p></td><td><p> </p><p>HID</p><p> </p></td><td> </td><td>iAP2-USB</td><td> </td></tr></tbody></table>

### About Device Features <a href="#toc195691411" id="toc195691411"></a>

Much of the information in this document is applicable to multiple devices.  When developing solutions that use a specific device or set of devices, integrators must be aware of each device’s connection types, data formats, features, and configuration options, which affect the availability and behavior of some commands.  The table below provides a list of device features that may impact command availability and behavior.  All section headings in this document include tags that indicate which features they apply to.

## Table - Device Features

<table data-header-hidden><thead><tr><th></th><th width="95.272705078125"></th><th width="98"></th><th></th><th width="103.4544677734375"></th><th width="97.0909423828125"></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td>Feature / Product</td><td>DynaFlex II GO</td><td>DynaFlex with USB Only</td><td>DynaFlex w/Bluetooth® LE</td><td>DynaFlex Pro with USB Only</td><td>DynaFlex Pro with Bluetooth® LE</td><td>DynaFlex Pro with WLAN</td><td>DynaFlex Pro with Ethernet</td><td>DynaProx</td><td>DynaFlex II with USB Only</td><td>DynaFlex II w/Bluetooth® LE</td><td>DynaFlex II PED with USB Only</td><td>DynaFlex II PED with Bluetooth® LE</td><td>DynaFlex II PED with WLAN</td><td>DynaFlex II PED with Ethernet</td></tr><tr><td>MSR</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>EMV Contact</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>EMV Contactless</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>MCE (Manual Card Entry)</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>BCR (Barcode Reader)</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>LED RGBx4</td><td>1</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>LED Monox4</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td></tr><tr><td>Touch</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>No Touch</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td></tr><tr><td>Display</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>No Display</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td></tr><tr><td>Battery Power</td><td>Y</td><td>N</td><td>Y</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>Y</td><td>N</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Banking Functions</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Session Management</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>N</td></tr><tr><td>Apple VAS</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Google Wallet Smart Tap</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Flexible UI</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Common Kernel</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr><tr><td>Card Emulation</td><td>Y</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>N</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td><td>Y</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.magtek.com/hardware/card-readers/mms-dyna-devices/dynaprox/documents/programmers-manuals/programmers-manual-commands/introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
