> 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/api-and-command-reference/scra-dynafamily-programmers-manual/data-types-and-shared-tlv-data-objects/emv-batch-data-type.md).

# EMV Batch Data Type

The device formats EMV batch data, such as merchant data and pre-defined EMV batch data tags, using the format shown in Table . The default is an EMV standard list of batch data message tags. The host may also customize the contents of batch data messages by setting **EMV Batch Data Tag List - Property 1.1.1.1.1.3**.

(EMV Contact Only) For unsuccessful transactions, this data object can contain additional pre-defined reversal data. It is normally used by the host for data capture. The default is an EMV standard list of reversal data message tags. The host may also customize the contents of reversal data messages by setting **Property 1.1.1.1.1.4 EMV Reversal Data Tag List**.

As part of successful completion of **Command 0x1001 - Start Transaction**, this data structure contains the results of the transaction. The set of tags used during a given EMV transaction is a combination of the tags defined in the EMV specification and the tags that are specific to the kernel being used for the transaction.

### EMV Batch Data (DynaPro Format) Type

## Table EMVBDT-1  – EMV Batch Data (DynaPro Format) Type

<table><thead><tr><th>Tag</th><th width="79.3333740234375">Len</th><th>Value / Description</th><th width="77.6666259765625">Typ</th><th width="79.00006103515625">Req</th><th width="93.99993896484375">Default</th></tr></thead><tbody><tr><td>2-byte MSB message length excluding padding and CBC-MAC</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>F9</td><td>var</td><td>Container for MAC structure and generic data</td><td>T</td><td>R</td><td></td></tr><tr><td>/DFDF54</td><td>var</td><td>MAC KSN</td><td>B</td><td>R</td><td></td></tr><tr><td>/DFDF55</td><td>01</td><td>MAC Encryption Type See section <strong>4.4</strong> <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>R</td><td></td></tr><tr><td>/DFDF25</td><td>var</td><td>Device Serial Number (IFD Serial Number)</td><td>B</td><td>R</td><td></td></tr><tr><td>/FA</td><td>var</td><td>Container for Generic Data</td><td>T</td><td>R</td><td></td></tr><tr><td>//F0</td><td>var</td><td>Transaction Results</td><td>T</td><td>R</td><td></td></tr><tr><td>///F1</td><td>var</td><td>Container for Status Data</td><td>T</td><td>R</td><td></td></tr><tr><td>////DFDF1A</td><td>01</td><td><p>Transaction Status</p><ul><li>0x00 = Accept</li><li>0x01 = Decline</li><li>0x02 = Error</li></ul></td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF1B</td><td>01</td><td>Additional Transaction Information 0x00 </td><td>B</td><td>R</td><td></td></tr><tr><td>///F8</td><td>var</td><td>Container for Encrypted Data</td><td>T</td><td>R</td><td></td></tr><tr><td>////DFDF59</td><td>var</td><td>Encrypted Data Primitive Decrypt the value of this TLV data object according to the <strong>Encrypted Transaction Data KSN</strong> parameter and the <strong>Encrypted Transaction Data Encryption Type</strong> parameter to read its contents. See Table 28 for the data structure as it should appear after decryption. Use the data variant of the current MSR DUKPT working key used in the relevant transaction.</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF56</td><td>var</td><td>Encrypted Transaction Data KSN</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF57</td><td>01</td><td>Encrypted Transaction Data Encryption Type See section <strong>4.4</strong> <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF58</td><td>01</td><td>Number of padding bytes added to DFDF59 value to force length to a multiple of 8 bytes</td><td>B</td><td>R</td><td></td></tr><tr><td>///F7</td><td>var</td><td>Merchant Data This contains an instance of <strong>Merchant Data Container</strong>.</td><td>T</td><td>R</td><td></td></tr><tr><td>/FE</td><td>Var</td><td>VAS Data Container See <strong>Table 25 – VAS Data Container Payload</strong></td><td>T</td><td>O</td><td></td></tr><tr><td>Padding to ensure the length of data, starting with the message length at the very beginning, and ending with any additional padding, is a multiple of 8 bytes for TDES, or 16 bytes for AES. This is a requirement of using the CBC-MAC algorithm.</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Four-byte CBC-MAC. The host should calculate the CBC-MAC and verify that it matches. For details about calculating a CBC-MAC, see <strong>About Message Authentication Codes (MAC)</strong>.</td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## Table EMVBDT-2 – EMV Batch Data (DynaPro Format) DFDF59 Decrypted Contents

<table><thead><tr><th width="74.66665649414062">Tag</th><th width="76.66668701171875">Len</th><th width="332">Value / Description</th><th width="81.66668701171875">Typ</th><th width="82.3333740234375">Req</th><th width="99.99984741210938">Default</th></tr></thead><tbody><tr><td>FC</td><td>var</td><td>Decrypted Data Container</td><td>T</td><td></td><td></td></tr><tr><td>/F2</td><td>var</td><td>Container for Batch Data This data object contains the set of EMV TLV data objects specified in <strong>EMV Batch Data Tag List - Property 1.1.1.1.1.3</strong>.</td><td>T</td><td></td><td></td></tr><tr><td>//DF29</td><td>08</td><td><p>Only if tag DF29 is included in<a data-footnote-ref href="#user-content-fn-1"> </a><strong>EMV Batch Data Tag List - Property 1.1.1.1.1.3</strong> </p><ul><li><p>Outcome Parameter Set Byte 1 - </p><ul><li>Outcome 0x10 = Approved </li><li>0x20 = Declined </li><li>0x30 = Online Request </li><li>0x40 = End Application </li><li>0x50 = Select Next Application </li><li>0x60 = Try Another Interface </li><li>0x70 = Try Again </li><li>0xF0 = N/A </li></ul><p>Byte 2 – Entry Point Start</p><ul><li>0x00 = Start A </li><li>0x10 = Start B </li><li>0x20 = Start C </li><li>0x30 = Start D </li><li>0xF0 = N/A </li></ul><p>Byte 3 – Entry Point Online Response </p><ul><li>0x00 = EMV Data </li><li>0x10 = Any </li><li>0xF0 = N/A </li></ul><p>Byte 4 – CVM </p><ul><li>0x00 = No CVM </li><li>0x10 = Obtain Signature </li><li>0x20 = Online PIN </li><li>0x30 = Confirmation Code Verified </li><li>0xF0 = N/A </li></ul><p>Byte 5 – UI/Data/Receipt </p><ul><li>0x80 = UI Request on Outcome Present </li><li>0x40 = UI Request on Restart Present </li><li>0x20 = Data Record Present </li><li>0x10 = Discretionary Data Present </li><li>0x08 = Provide Receipt </li></ul><p>Byte 6 – Alternate Interface Preference </p><ul><li>0x10 = Contact </li><li>0x20 = MSR </li><li>0xF0 = N/A </li></ul><p>Byte 7 – Field Off Request </p><ul><li>FF = N/A </li></ul><p>Byte 8 – Removal Timeout</p></li></ul></td><td>B</td><td>O</td><td></td></tr><tr><td>/F3</td><td>var</td><td>(EMV Contact Only) Container for Reversal Data, if any This data object contains the set of EMV TLV data objects specified in <strong>EMV Reversal Data Tag List - Property 1.1.1.1.1.4</strong> .</td><td>T</td><td>O</td><td>null</td></tr><tr><td>/F4</td><td>var</td><td>Container for encrypted MSR data (MSR Only)</td><td>T</td><td>O</td><td></td></tr><tr><td>//DFDF36</td><td>01</td><td><p>Encrypted Track 1 Status (MSR Only)</p><ul><li>0x00 = OK</li><li>0x01 = Empty</li><li>0x02 = Error</li><li>0x03 = Disabled [<strong>Track 1 Enable (MSR Only) - Property 1.1.2.5.1.2</strong> set to <strong>Disabled</strong>]</li></ul></td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF37</td><td>var</td><td>Encrypted Track 1 Data (MSR Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF38</td><td>01</td><td><p>Encrypted Track 2 Status (MSR Only)</p><ul><li>0x00 = OK</li><li>0x01 = Empty</li><li>0x02 = Error</li><li>0x03 = Disabled [<strong>Track 2 Enable (MSR Only) - Property 1.1.2.5.1.3</strong> set to <strong>Disabled</strong>]</li></ul></td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF39</td><td>var</td><td>Encrypted Track 2 Data (MSR Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF3A</td><td>01</td><td><p>Encrypted Track 3 Status (MSR Only)</p><ul><li>0x00 = OK</li><li>0x01 = Empty</li><li>0x02 = Error</li><li>0x03 = Disabled [<strong>Track 3 Enable (MSR Only) - Property 1.1.2.5.1.4</strong> set to <strong>Disabled</strong>]</li></ul></td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF3B</td><td>var</td><td>Encrypted Track 3 Data (MSR Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF3C</td><td>var</td><td>Encrypted MagnePrint Data (MSR Only) Only included for MSR swipe transactions and when Track Data and Magneprint are using the same KSN.</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF43</td><td>04</td><td>MagnePrint Status Data (MSR Only) Only included for MSR swipe transactions and when Track Data and Magneprint are using the same KSN.</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF50</td><td>var</td><td>MSR KSN Data (MSR Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF51</td><td>01</td><td>MSR Encryption Type (MSR Only) See <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>O</td><td></td></tr><tr><td>/FF73</td><td>var</td><td>Container for Encrypted MagnePrint Data (MSR Only) Only included when Track Data and MagnePrint encryption keys are using different KSN</td><td>T</td><td>O</td><td></td></tr><tr><td>//DFDF3C</td><td>var</td><td>Encrypted MagnePrint Data (MSR Only) Only included for MSR swipe transactions.</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF43</td><td>04</td><td>MagnePrint Status Data (MSR Only) Only included for MSR swipe transactions.</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF50</td><td>var</td><td>MSR KSN Data (MSR Only) Key Serial Number for the key the host should use to decrypt <strong>Encrypted MagnePrint Data</strong>.</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF51</td><td>01</td><td>MSR Encryption Type (MSR Only) See <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>O</td><td></td></tr><tr><td>/F5</td><td>00</td><td>Container for Encrypted PIN Data (Touch Only)</td><td>T</td><td>O</td><td></td></tr><tr><td>//DF71</td><td>00</td><td><p>PIN Block Format (Touch Only)</p><ul><li>0x00 = ISO Format 0</li><li>0x01 = ISO Format 1</li><li>0x03 = ISO Format 3</li><li>0x04 = ISO Format 4</li></ul></td><td>B</td><td>O</td><td></td></tr><tr><td>//99</td><td>00</td><td>Encrypted PIN Data (Touch Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF41</td><td>00</td><td>PIN KSN Data (Touch Only)</td><td>B</td><td>O</td><td></td></tr><tr><td>//DFDF42</td><td>00</td><td>PIN Encryption Type (Touch Only) See <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>O</td><td></td></tr><tr><td>null</td><td>(var)</td><td>Padding to force DFDF59 plus padding to be a multiple of 8 bytes</td><td>B</td><td></td><td></td></tr></tbody></table>

## Table EMVBDT-3 - EMV Batch Data (DynaPro Format) DFDF59 Decrypted Contents

<table><thead><tr><th width="68.6666259765625">Tag</th><th width="71">Len</th><th>Value / Description</th><th width="75.33331298828125">Typ</th><th width="77.66668701171875">Req</th><th width="101">Default</th></tr></thead><tbody><tr><td>FC</td><td>var</td><td>Decrypted Data Container</td><td>T</td><td></td><td></td></tr><tr><td>/F2</td><td>var</td><td>Container for Batch Data This data object contains the set of EMV TLV data objects specified in <strong>EMV Batch Data Tag List - Property 1.1.1.1.1.3</strong>.</td><td>T</td><td></td><td></td></tr><tr><td>/F3</td><td>var</td><td>Container for Reversal Data, if any This data object contains the set of EMV TLV data objects specified in <strong>EMV Reversal Data Tag List - Property 1.1.1.1.1.4</strong> .</td><td>T</td><td>O</td><td>null</td></tr><tr><td>null</td><td>(var)</td><td>Padding to force DFDF59 plus padding to be a multiple of 8 bytes or 16 bytes depending on the cipher block size of the algorithm being used.</td><td>B</td><td></td><td></td></tr><tr><td>/FE</td><td>Var</td><td>VAS Data Container See <strong>Table  – VAS Data Container Payload</strong></td><td>T</td><td>O</td><td>/FE</td></tr></tbody></table>

## Merchant Data Container

Merchant Data is normally used by the host for receipt printing. The contents of this container are not customizable.

## Table EMVBDT-4 - Merchant Data Container

## Table EMVBDT-5 – EMV Batch Data (DynaPro Format) Type &#x20;

<table><thead><tr><th>Tag</th><th width="79.3333740234375">Len</th><th>Value / Description</th><th width="77.6666259765625">Typ</th><th width="79.00006103515625">Req</th><th width="93.99993896484375">Default</th></tr></thead><tbody><tr><td>2-byte MSB message length excluding padding and CBC-MAC</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>F9</td><td>var</td><td>Container for MAC structure and generic data</td><td>T</td><td>R</td><td></td></tr><tr><td>/DFDF54</td><td>var</td><td>MAC KSN</td><td>B</td><td>R</td><td></td></tr><tr><td>/DFDF55</td><td>01</td><td>MAC Encryption Type See <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>R</td><td></td></tr><tr><td>/DFDF25</td><td>var</td><td>Device Serial Number (IFD Serial Number)</td><td>B</td><td>R</td><td></td></tr><tr><td>/FA</td><td>var</td><td>Container for Generic Data</td><td>T</td><td>R</td><td></td></tr><tr><td>//F0</td><td>var</td><td>Transaction Results</td><td>T</td><td>R</td><td></td></tr><tr><td>///F1</td><td>var</td><td>Container for Status Data</td><td>T</td><td>R</td><td></td></tr><tr><td>////DFDF1A</td><td>01</td><td><p>Transaction Status</p><ul><li>0x00 = Accept</li><li>0x01 = Decline</li><li>0x02 = Error</li></ul></td><td>B</td><td>R</td><td></td></tr><tr><td>///F8</td><td>var</td><td>Container for Encrypted Data</td><td>T</td><td>R</td><td></td></tr><tr><td>////DFDF59</td><td>var</td><td>Encrypted Data Primitive Decrypt the value of this TLV data object according to the <strong>Encrypted Transaction Data KSN</strong> parameter and the <strong>Encrypted Transaction Data Encryption Type</strong> parameter to read its contents. See Table XX for the data structure as it should appear after decryption. Use the data variant of the current MSR DUKPT working key used in the relevant transaction.</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF56</td><td>var</td><td>Encrypted Transaction Data KSN</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF57</td><td>01</td><td>Encrypted Transaction Data Encryption Type See <strong>Encryption Type</strong> for a list of valid values.</td><td>B</td><td>R</td><td></td></tr><tr><td>////DFDF58</td><td>01</td><td>Number of padding bytes added to DFDF59 value to force length to a multiple of 8 bytes</td><td>B</td><td>R</td><td></td></tr><tr><td>///F7</td><td>var</td><td>Merchant Data This contains an instance of <strong>Merchant Data Container</strong>.</td><td>T</td><td>R</td><td></td></tr><tr><td>/FE</td><td>Var</td><td>VAS Data Container See <strong>Table XX – VAS Data Container Payload</strong></td><td>T</td><td>O</td><td></td></tr><tr><td>Padding to ensure the length of data, starting with the message length at the very beginning, and ending with any additional padding, is a multiple of 8 bytes for TDES, or 16 bytes for AES. This is a requirement of using the CBC-MAC algorithm.</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Four-byte CBC-MAC. The host should calculate the CBC-MAC and verify that it matches. For details about calculating a CBC-MAC, see <strong>About Message Authentication Codes (MAC)</strong>.</td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

[^1]:


---

# 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/api-and-command-reference/scra-dynafamily-programmers-manual/data-types-and-shared-tlv-data-objects/emv-batch-data-type.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.
