# Developing Custom Software

Custom host software uses the same underlying device command set for all DynaFlex product connection types. This section provides high-level information about communicating with the device via the various physical connection types in various software development frameworks, and provides pointers to available SDKs, which include sample code. Product documentation and SDKs are available for download by searching for the product name on [www.magtek.com](http://www.magtek.com/) and navigating to the                                                                                                            tab.

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:

* **Magtek Universal SDK Programmer’s Manual (Microsoft .NET)**
* **Magtek Universal SDK Programmer’s Manual (Microsoft C++ )**
* **Magtek Universal SDK Programmer’s Manual (Java)**
* **Magtek Universal SDK Programmer’s Manual (Android)**

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

* **MagTek Universal SDK for MMS Devices (Windows)**
* **MagTek Universal SDK for MMS Devices (Android)**

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.

In addition to the SDK API libraries, software developers also have the option to revert to direct communication with the device using libraries using the operating system’s native USB, TCP/IP, or Bluetooth LE libraries. For example, custom software written in Visual Basic or Visual C++ may make API calls to the standard Windows USB HID driver. For more information about sending commands directly, see *DynaFlex and DynaFlex Pro Programmer’s Manual (COMMANDS).*

For more information about developing custom applications that integrate with DynaFlex, see the MagTek web site or contact your reseller or MagTek Support Services.


---

# Agent Instructions: 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/emv-common-kernel/dynaflex-ii-scr/documentation/user-manuals/three-way-secure-card-reader-authenticators-installation-and-operation-manual/developing-custom-software.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.
