> 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/programmers-resources/programmers-resources/sdk-programmers-manuals/universal-sdk-magtek-devices-programmers-manual-android/classes/classes-a-i.md).

# Classes - A - I

These classes are equipped with helper classes named Builders. Builders can parse the raw data byte array of an `OnEvent()` into a format required by a builder’s class.

For the complete documentation index, see [llms.txt](https://developer.magtek.com/llms.txt). This page is also available as [Markdown](broken://pages/048bf877e28ec1f5b77973b32412e85f92227f68).

## BarCodeData

These constructors initialize a `BarCodeData` object. Use `BarCodeDataBuilder.GetBarCodeData` with data from the `BarCodeData` event to return a `BarcodeData`.

```
BarCodeData BarCodeDataBuilder.GetBarCodeData( 
    DeviceType deviceType, 
    byte[] dataBytes 
    );
    
new BarCodeData(byte[] Data, boolean Encrypted); 
new BarCodeData(
    byte[] Data, 
    boolean Encrypted,
    byte EncryptionType, 
    byte[] KSN
    );
```

| Member             | Description                                                                               |
| ------------------ | ----------------------------------------------------------------------------------------- |
| `Data()`           | Returns the data payload.                                                                 |
| `Encrypted()`      | Returns the encryption status. `false` = data is not encrypted `true` = data is encrypted |
| `EncryptionType()` | Returns the encryption type.                                                              |
| `KSN()`            | Returns the Key Serial Number.                                                            |

**Return Value:** Returns an instance of `BarCodeData`.

## CertificateInfo

`CertificateInfo` is used for the connection to a device requiring client credentials. See the following for details on installing a certificate chain: *D998200550 DynaFlex II PED Using Wireless LAN Guide*.

This constructor initialize a `CertificateInfo` object. Once created, it is to be passed to `CoreAPI.createDevice()`.

```
new CertificateInfo( 
    String format, 
    byte[] data, 
    String password 
    );
```

| Parameter / Member         | Type / Format | Description                                                               |
| -------------------------- | ------------- | ------------------------------------------------------------------------- |
| `format` `getFormat()`     | `String`      | Certificate data format. “PKCS12” – for .p12 file. “PFX” – for .pfx file. |
| `data` `getData()`         | `byte[]`      | Certificate data.                                                         |
| `password` `getPassword()` | `String`      | Password to access the certificate data.                                  |

**Return Value:** Returns an instance of `Certificate Info`. Example of using `CertificateInfo`.

## ConnectionStateBuilder

This class returns the connection state of the device when supplied the data object of the `OnEvent()` `ConnectionState` event.

```
String ConnectionStateBuilder.GetString(ConnectionState value); 
ConnectionState ConnectionStateBuilder.GetValue(string data);
```

| Member          | Description                                                      |
| --------------- | ---------------------------------------------------------------- |
| `CONNECTED`     | Returns string of connected.                                     |
| `CONNECTING`    | Returns string of connecting.                                    |
| `DISCONNECTED`  | Returns string of disconnected.                                  |
| `DISCONNECTING` | Returns string of disconnecting.                                 |
| `ERROR`         | Returns string of error.                                         |
| `GetString()`   | Returns string of the `ConnectionState` enum.                    |
| `GetValue()`    | Returns `ConnectionState` enum from the event data string value. |

**Return Value:** Returns an instance of `ConnectionStateBuilder`.

## DirectoryEntry

`DirectoryEntry` is similar to an `InputRequest` for Application during a transaction. Other fields of information are included besides Application Label. During a transaction, the device selects the PPSE. The directory entries are the PPSE response starting from the `BF0C` tag. The number of directory entries correspond to the number of applications on the card.

These constructors initialize a `DirectoryEntry` object.

```
new DirectoryEntry(); 
new DirectoryEntry( 
    String Aid, 
    String Label, 
    byte Priority, 
    byte[] ProprietaryData, 
    byte KernelIdentifier, 
    byte[] IssuerIN, 
    byte[] IssuerINE,
    byte[] IssuerCountryCodeAlpha2, 
    byte[] IssuerCountryCodeAlpha3, 
    byte[] CardProductDetails
    );
```

| Parameter                 | Type      | Description                                                 |
| ------------------------- | --------- | ----------------------------------------------------------- |
| `Aid`                     | `String`  | Application Identifier. Tag 4F                              |
| `Label`                   | `String`  | Application Label. Tag 50                                   |
| `Priority`                | `byte`    | Application Priority Indicator. Tag 87                      |
| `ProprietaryData`         | `byte[]`  | Application Selection Registered Proprietary Data. Tag 9F0A |
| `KernelIdentifier`        | `byte`    | Kernel Identifier. Tag 9F2A                                 |
| `IssuerIN`                | `byte[3]` | Issuer Identification Number. Tag 42                        |
| `IssuerINE`               | `byte[4]` | Issuer Identification Number Extended. Tag 9F0C             |
| `IssuerCountryCodeAlpha2` | `byte[2]` | Issuer Country Code (alpha2 format). Tag 5F55               |
| `IssuerCountryCodeAlpha3` | `byte[3]` | Issuer Country Code (alpha3 format). Tag 5F56               |
| `CardProductDetails`      | `byte[2]` | Card Product Details. Tag 9F7D                              |

**Return Value:** Returns an instance of `DirectoryEntry`.

## EnhancedInputRequest

This supplies a directory entry list for application selection after a card has been presented to the device during a transaction. To be implemented, Application Selection Behavior property 1.2.1.1.1.2 must be set to `0x03` – Enhanced Prompt Cardholder.

The data byte array from the `EnhancedInputRequest` event is parsed and returned as an enhanced application selection list (directory entry). This list is the PPSE response starting from tag `BF0C`. `EnhancedInputRequest` class extends `InputRequest`.

```
new EnhancedInputRequest(); 
new EnhancedInputRequest(byte[] data);
```

| Member                       | Return                 | Description                                       |
| ---------------------------- | ---------------------- | ------------------------------------------------- |
| `EnhancedSelectionList()`    | `List<DirectoryEntry>` | Returns a list of enhanced application selection. |
| `setEnhancedSelectionList()` | `List<DirectoryEntry>` | Sets a list of enhanced application selection.    |
| `Title()`                    | `String`               | Title to display.                                 |
| `Type()`                     | `int`                  | Selection type.                                   |
| `Timeout()`                  | `long`                 | Timeout in seconds to make selection.             |

## IData

`IData` is used for the payload of events and passing data to functions. When assigning the member `StringValue`, the member `ByteArray` is automatically assigned. Same is true vice versa. In this way either a string or an array can be accessed without need of data conversion.

Use the `BaseData()` function to assign an instance of `IData`.

| Member          | Type / Format | Description             |
| --------------- | ------------- | ----------------------- |
| `StringValue()` | `String`      | Returns a string value. |
| `ByteArray()`   | `byte[]`      | Returns a byte array.   |

Example of using `IData`.

```
// String usage
IData data1 = new BaseData(“3030”);

// Array usage
IData data2 = new BaseData(new byte[] {0x30, 0x30});
```

## InputRequest

This is used for displaying messages prompted by the card during a transaction. The data byte array from the `InputRequest` event is parsed and returned as an application selection list.

```
new InputRequest (); 
new InputRequest (byte[] data);
```

| Member                                 | Type / Format  | Description                                                                                                                                   |
| -------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `Type()` `setType()`                   | `byte`         | <p>Input type.<br><br><code>0x00</code> = <code>INPUT\_TYPE\_APPLICATION</code><br><code>0x01</code> = <code>INPUT\_TYPE\_LANGUAGE</code></p> |
| `Timeout()` `setTimeout`               | `byte`         | Timeout in seconds                                                                                                                            |
| `Title()` `setTitle()`                 | `string`       | Title                                                                                                                                         |
| `SelectionList()` `setSelectionList()` | `List<String>` | List of selections for Application and Language depending on the Type.                                                                        |

| Static Member            | Value  | Description                                            |
| ------------------------ | ------ | ------------------------------------------------------ |
| `INPUT_TYPE_APPLICATION` | `0x00` | Selection type is for Application.                     |
| `INPUT_TYPE_LANGUAGE`    | `0x01` | Selection type is for Language.                        |
| `INPUT_STATUS_COMPLETED` | `0x00` | To send the status of completed for `sendSelection()`. |
| `INPUT_STATUS_CANCELLED` | `0x01` | To send the status of canceled for `sendSelection()`.  |
| `INPUT_STATUS_TIMED_OUT` | `0x02` | To send the status of timed out for `sendSelection()`. |

**Return Value:** Returns an instance of `InputRequest`.

## ITransaction

This is the interface used as the parameter for `startTransaction()`. For an example, see the sample code in **IDevice Walk Through.**

| Parameter                            | Type / Format                 | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------ | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Timeout`                            | `byte`                        | <p>Transaction timeout in seconds. Default is 60 seconds.<br><br>0 to 255 - Depending on the device, 0 means no timeout.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `PaymentMethods`                     | `List of Payment Method`      | <p>List of the <code>PaymentMethod</code> enumeration.<br><br><code>MSR</code> = For magnetic stripe cards.<br><code>Contact</code> = For EMV chip cards.<br><code>Contactless</code> = For NFC contactless cards.<br><code>ManualEntry</code> = Manually entry, no card. When set, other payment methods must not be included.<br><code>Barcode</code> = For barcode.<br><code>BarcodeEncrypted</code> = For barcode with encrypted response.<br><code>AppleVAS</code> = For Apple VAS.<br><code>GoogleVAS</code> = For Google Wallet VAS.<br><code>NFC</code> = For NFC tag.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `QuickChip`                          | `boolean`                     | <p>In QuickChip mode, the device does not prompt for an amount. Device sends an ARQC request to the host. Device automatically populates the ARPC response data with EMV Tag <code>8A</code> set to “Z3”. Card holder is prompted to remove the card. Transaction result is later determined by the processor and not by the card.<br><br><code>false</code> - Do not enable QuickChip mode.<br><code>true</code> - Enable QuickChip mode. Default.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `EMVOnly`                            | `boolean`                     | <p>Flag that determines whether or not to start an EMV transaction.<br><br><code>false</code> - Do not start transaction if the device does not support EMV.<br><code>true</code> - Only start transaction if the device supports EMV. Default.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `PreventMSRSignature ForCardWithICC` | `boolean`                     | <p>Flag that forces the device to skip signature capture during an MSR-only transaction if the card’s service code indicates it is a chip card.<br><br><code>false</code> – Allow the prompt for a signature if requested.<br><code>true</code> – Do not prompt for signature.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `SuppressThankYouMes sage`           | `boolean`                     | <p>By default, devices with a display signal the end of a transaction by briefly showing “THANK YOU,” then “WELCOME.”<br><br><code>false</code> – Do not suppress the thank you message.<br><code>true</code> – Suppress the thank you message.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `DisplayAmountForQuic kChip`         | `boolean`                     | <p>Display Amount for Quick Chip Transaction Flow.<br><br><code>false</code> = Do not display Amount when QuickChip mode is true. Default.<br><code>true</code> = Display Amount when QuickChip mode is true.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `OverrideFinalTransacti onMessage`   | `byte`                        | <p>By default, devices with a display signal the end of a transaction by returning to the idle page and showing “WELCOME.” This parameter directs the device to show a message based on the Message ID from the command <code>displayMessage()</code>. This option completely overrides the device’s idle page behavior until the next transaction, power cycle, or other similar state change.<br><br>Example but not limited to:<br><br><code>0x00</code> - reserved, do not use. <code>0x01</code> - “AMOUNT”<br><code>0x02</code> - “AMOUNT OK?”<br><code>0x03</code> - “APPROVED”<br><code>0x04</code> - “CALL YOUR BANK”<br><code>0x05</code> - “CANCEL OR ENTER”<br><code>0x06</code> - “CARD ERROR”<br><code>0x07</code> - “DECLINED”<br><code>0x08</code> - “ENTER AMOUNT”<br><code>0x09</code> - reserved, do not use. <code>0x0A</code> - reserved, do not use. <code>0x0B</code> - “INSERT CARD”<br><code>0x0C</code> – “NOT ACCEPTED”<br><code>0x0D</code> - reserved, do not use. <code>0x0E</code> - “PLEASE WAIT”<br><code>0x0F</code> - “PROCESSING ERROR”<br><code>0x10</code> - “REMOVE CARD”<br><code>0x11</code> - “USE CHIP READER”<br><code>0x12</code> - “USE MAGSTRIPE”<br><code>0x13</code> - “TRY AGAIN”<br><code>0x14</code> - “WELCOME”<br><code>0x15</code> - “PRESENT CARD”<br><code>0x16</code> - “PROCESSING”<br><code>0x17</code> - “CARD READ OK - REMOVE CARD”<br><code>0x18</code> - “INSERT OR SWIPE CARD”<br><code>0x19</code> - “PRESENT ONE CARD ONLY”<br><code>0x1A</code> - “APPROVED PLEASE SIGN”<br><code>0x1B</code> - “AUTHORIZING PLEASE WAIT”<br><code>0x1C</code> - “INSERT, SWIPE OR TRY ANOTHER CARD”<br><code>0x1D</code> - “PLEASE INSERT CARD”<br><code>0x1E</code> - Null prompt (empty screen) <code>0x1F</code> - reserved, do not use.<br><code>0x20</code> - “SEE PHONE”<br><code>0x21</code> - “PRESENT CARD AGAIN”<br><code>0x22</code> - “INSERT/SWIPE/TRY OTHER CARD”<br><code>0x23</code> - “TAP or SWIPE CARD”<br><code>0x24</code> - “TAP or INSERT CARD”<br><code>0x25</code> - “TAP, INSERT or SWIPE CARD”<br><code>0x26</code> - “TAP CARD”<br><code>0x27</code> - “TIMEOUT”<br><code>0x28</code> - “TRANSACTION TERMINATED”</p> |
| `EMVResponseFormat`                  | `byte`                        | <p>The format of the EMV response.<br><br><code>0x00</code> – Legacy. Default.<br><code>0x01</code> – RFU</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `TransactionType`                    | `byte 1`                      | <p>EMV Tag <code>9C</code> - The type of financial transaction, represented by the first two digits of the ISO 8583:1987 Processing Code.<br><br>Examples:<br><br><code>0x00</code> – purchase. Default.<br><code>0x01</code> – cash advance<br><code>0x09</code> – purchase with cashback<br><code>0x20</code> – refund<br><br>Supported transaction types can found in the commands programmers manual specific to the device.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `Amount`                             | `String 12`                   | <p>EMV Tag <code>9F02</code> - Authorized amount of the transaction.<br><br>Example:<br><br><code>“000000000123”</code> – $1.23<br><code>“000000009999”</code> – $99.99</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `CashBack`                           | `String 12`                   | <p>EMV Tag <code>9F03</code> - Secondary amount associated with the transaction.<br><br>Example:<br><br><code>“000000000123”</code> – $1.23<br><code>“000000009999”</code> – $99.99</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `CurrenyCode`                        | `byte[] 2`                    | <p>EMV Tag <code>5F2A</code> - Currency code of the transaction according to ISO 4217. The byte array is null by default.<br><br>Example:<br><code>0x0840 = US Dollar</code> <code>0x0978 = Euro</code> <code>0x0826 = UK Pound</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `CurrencyExponent`                   | `byte[] 1`                    | <p>EMV Tag <code>5F36</code> - The decimal point position from the right of the transaction amount. The byte array is null by default.<br><br>Example:<br><code>0x02</code> – decimal point at 2 position from the right.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `TransactionCategory`                | `byte[] 1`                    | EMV Tag `9F53` - The type of contactless transaction being performed. The byte array is null by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `MerchantCategory`                   | `byte[] 2`                    | EMV Tag `9F15` - The type of business being done by the merchant, represented according to ISO 18245. The byte array is null by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `MerchantID`                         | `byte[] 15`                   | EMV Tag `9F16` - Used to uniquely identify a given merchant. The byte array is null by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `MerchantCustomData`                 | `byte[] 20`                   | EMV Tag `9F7C` – Proprietary merchant data that may be requested. The byte array is null by default.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `ManualEntryType`                    | `byte`                        | <p>User interface sequence.<br><br><code>0x00</code> - Card Number, Expiration Date, Security Code<br><code>0x01</code> - Name on Card, Card Number, Expiration Date, Security Code (Reserved for Future Use)<br><code>0x02</code> – Qwick Code, Last 4 digits of Card Number, Security Code (Reserved for future use)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `ManualEntryFormat`                  | `byte`                        | <p>Card number valid format.<br><br><code>0x00</code> - PAN min 8, max 21 digits</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `ManualEntrySound`                   | `byte`                        | <p>Beeper feedback.<br><br><code>0x00</code> - On keypress sound disabled<br><code>0x01</code> - On keypress sound enabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `AppleVASMode`                       | `VASMode`                     | An enumeration for the Apple VAS Mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `AppleVASProtocol`                   | `VASProtocol`                 | An enumeration for the Apple VAS Protocol.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `ECP2FrameData`                      | `byte[] 3-18`                 | <p>Apple ECP2.0 frame from Byte 2 to Byte N. See Apple ECP2.0 specification.<br><br>· For example, if ECP2.0 VASUP-A frame is <code>6A02C3020003FFFF</code><br><br>then Byte 2-N is <code>0xC3020003FFFF</code>.<br><br>· By default, ECP2.0 frame (Byte 2 -N) is <code>0xC3020003FFFF</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `CustomNFCTransactionMode`           | `List of NFC TransactionMode` | List of NFC transaction modes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `CustomNFCReadDataMode`              | `NFCDataMode`                 | Custom NFC data mode.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `TipMode`                            | `byte`                        | <p>Tip mode.<br><br><code>0x00</code> = Disable Tip Mode<br><code>0x01</code> = Show Tip GUI immediately using %<br><code>0x02</code> = Show Tip GUI immediately using $<br><code>0x11</code> = Enable Read Channel(s), with +Tip Button using %<br><code>0x12</code> = Enable Read Channel(s), with +Tip Button, using $</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip1DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 1.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip2DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 2.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip3DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 3.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip4DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 4.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip5DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 5.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip6DisplayMode`                    | `byte`                        | <p>Display mode for Tip button 6.<br><br><code>0x00</code> = % or $<br><code>0x01</code> = Display Custom <code>0x02</code> = Display NO TIP <code>0x03</code> = Disabled</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `Tip1Value`                          | `String`                      | <p>Display value for Tip button 1.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Tip2Value`                          | `String`                      | <p>Display value for Tip button 2.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Tip3Value`                          | `String`                      | <p>Display value for Tip button 3.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Tip4Value`                          | `String`                      | <p>Display value for Tip button 4.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Tip5Value`                          | `String`                      | <p>Display value for Tip button 5.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `Tip6Value`                          | `String`                      | <p>Display value for Tip button 6.<br><br><code>“1.00”</code> = $1.00 (Display Mode is $)<br><code>“10.0001”</code> = 10.0001% (Display Mode is %)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `TaxAmount`                          | `String`                      | <p>Tax amount.<br><br><code>“1.00”</code> = $1.00</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `FunctionalButtonRight Option`       | `byte[] 2`                    | <p>String ID to use for the Right functional button. The byte array is null by default.<br><br>When user presses this button, device sends a notification to the host to indicate the present card functional button Right is pressed. Device then waits for the next command from the host. While waiting, the screen shows “PLEASE WAIT”.<br><br><code>null</code> = Disable.<br><code>0x0000</code> to <code>0x00FF</code> = String ID</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |


---

# 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, and the optional `goal` query parameter:

```
GET https://developer.magtek.com/programmers-resources/programmers-resources/sdk-programmers-manuals/universal-sdk-magtek-devices-programmers-manual-android/classes/classes-a-i.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
