> 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-processing-configuration-file-type.md).

# EMV Processing Configuration File Type

The host uses **Start Send File to Device (Unsecured) - Command 0xD812** to load this file type to control the behavior of the device’s EMV kernels. The host must compile a single instance of this file type containing multiple instances of the **AID Delimiter Container**, one for each contact or contactless AID the device should support. For each instance of the **AID Delimiter Container** where tag 9F01 is set to a contactless AID, the host must load a corresponding instance of an Entry Point Table when it loads the **EMV Entry Point Configuration File Type**.

## Table EMVPCF-1 - EMV Configuration Processing File Type

|                   |                                                                          |
| ----------------- | ------------------------------------------------------------------------ |
| File Type Version | One byte indicating the version of the file type format being used. 0xAA |
| SHA-1 Hash        | 20-byte hash of all values that follow.                                  |
| FF33              | var                                                                      |

### Inside each AID Delimiter Container:

<table><thead><tr><th width="113.99996948242188">Tag</th><th width="72">Len</th><th>Value / Description</th><th width="75.66668701171875">Typ</th><th width="79.33331298828125">Req</th><th width="168.99996948242188">Example</th></tr></thead><tbody><tr><td>/9F01</td><td>06</td><td><p>Payment Brand Identifier This serves as supporting information to clarify whether this instance of the AID Delimiter Container is for Contact or Contactless. Byte 1 upper nibble must be set to a value flagging that it corresponds to a Contactless AID, generally by using 0xC0 or 0xF0. For Contact AID, the value of Byte 1 is 00. Byte 1 lower nibble:</p><ul><li>0 = Contact</li><li>1 = Interac (Common Kernel Only)</li><li>2 = Mastercard Contactless</li><li>3 = Visa payWave</li><li>4 = Expresspay</li><li>5 = JCB (Common Kernel Only)</li><li>6 = Discover D-PAS</li><li>7 = China UnionPay (Common Kernel Only)</li></ul><p>Bytes 2..5 Reserved for future use</p></td><td>B</td><td>R</td><td>F2 00 00 00 00 00</td></tr><tr><td>/4F</td><td>0..16</td><td>Application Identifier (AID)</td><td>B</td><td>R</td><td>A0 00 00 00 04 10 10</td></tr><tr><td>/DF7E</td><td>01</td><td>ASI</td><td>B</td><td>R</td><td>01</td></tr><tr><td>/9F09</td><td>02</td><td>Application Version Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00</td></tr><tr><td>/DF11</td><td>01</td><td>Skip TAC/IAC default supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF12</td><td>01</td><td>Random transaction selection supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF13</td><td>01</td><td>Velocity checking supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF14</td><td>01</td><td>Floor limit checking supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF15</td><td>01</td><td>TAC supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF20</td><td>05</td><td>TAC default Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00 00 00 00</td></tr><tr><td>/DF21</td><td>05</td><td>TAC denial Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00 00 00 00</td></tr><tr><td>/DF22</td><td>05</td><td>TAC online Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00 00 00 00</td></tr><tr><td>/9F1B</td><td>04</td><td>Floor limit Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00 00 00</td></tr><tr><td>/DF70</td><td>01</td><td>Target percentage Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF6E</td><td>03</td><td>Threshold value Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00 00</td></tr><tr><td>/DF6F</td><td>01</td><td>Maximum target percentage Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF01</td><td>01</td><td>Default DDOL supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF71</td><td>0..FC</td><td>DDOL Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td></td></tr><tr><td>/DF02</td><td>01</td><td>Default TDOL supported Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>/DF72</td><td>0..252</td><td>TDOL Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td></td></tr><tr><td>/5F2A</td><td>02</td><td>Currency Code Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00 00</td></tr><tr><td>/5F36</td><td>01</td><td>Transaction currency exponent Only applies when Payment Brand Identifier indicates Contact.</td><td>B</td><td>R</td><td>00</td></tr><tr><td>Additional instances of the <strong>AID Delimiter Container</strong> parameter, one per Application Identifier (AID) the device should support.</td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>


---

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

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter, 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-processing-configuration-file-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.
