# EMV Configuration File
EMV Configuration file is a file used by EMV kernel during EMV transaction. It contains EMV parameters defined by EMVCo, payment schemes as well as proprietary data elements to manage the behavior of terminal during a payment transaction.
EMV Configuration parameters are classified as following :
# EMVCo parameters
- Terminal Action Codes : Define conditions where transaction should be approved or declined
- Terminal Type : Represents whether the terminal is online-only or onlineandoffline, etc.
- Terminal Capabilities : Defines the ability of terminal such as Online PIN, Offline PIN, SDA (Static Data Authentication), DDA (Dynamic Data Authentication), etc.
- Certificate Authority Public Keys : Required for offline data authentication.
# Contactless payment schemes specific parameters
- Terminal Transaction Qualifiers (Visa)
- Kernel Configuration (MasterCard)
# Proprietary parameters defined by EMV L2 kernel vendors
# Poynt-specific parameters
- PIN Bypass allowed
- Track 2 data encryption format
EMV Configuration file is a mandatory file on the payment terminal, otherwise firmware doesn’t know how to process an EMV payment transaction.
Setting the configuration file correctly is crucial to have a smooth EMV L3 certification and minimize the production field issues.
# Golden Configuration File
Golden Configuration file includes the latest updates of payment brands and L3 certification requirements. The configuration files in the field are generally not up-to-date with golden file as it may be risky to have too many changes in the production files. Existing production files get updated to the golden file content when acquirer goes to a new L3 certification. This makes sure that the updates don’t break anything in the production files.
# EMV Configuration File Structure and Content
EMV Configuration file is an XML file. The file includes Application (AID) specific parameters under Applications (Contact Application 1…n, Contactless Application 1…n) and global level parameters under Terminal Configuration (contact, contactless and MSR). The file includes Certificate Authority Public Keys at the end.
If an EMV parameter is defined in the global level, then it is effective for all Applications. If it is defined within the Applications, then it is effective only for the Application where it is defined in.
Some parameters are global (like Terminal Country Code) and they need to be defined in the global level. Some parameters are application specific (like MasterCard Terminal Risk Management Data) and need to be defined in the Application Level.
::: details File Structure
- Configuration
- Contact
- Application Configuration
- Contact Application 1 (i.e MasterCard Credit Debit)
- Contact Application 2 (i.e Visa Credit Debit)
- Contact Application 3
- ...
- Contact Application n
- Sequence Counter
- Terminal Configuration (for common EMV contact parameters)
- Application Configuration
- Contactless Brand 1 (i.e MasterCard)
- Application Configuration
- Contactless Application 1 (i.e MasterCard Credit Debit)
- Contactless Application 2 (i.e MasterCard Maestro)
- ...
- Contactless Application
- Sequence Counter
- Terminal Configuration (for common EMV contactless parameters)
- Application Configuration
- Contactless Brand 2 (i.e Visa)
- Application Configuration
- Contactless Application 1 (i.e Visa Credit Debit)
- Contactless Application 2 (i.e Visa Electron)
- ...
- Contactless Application
- Sequence Counter
- Application Configuration
- ...
- Contactless Brand n
- MSR
- Terminal Configuration (for MSR parameters)
- Public Keys
- AID 1 (i.e A00000031010)
- RID (i.e A0000003)
- Key 1
- Key 2
- ...
- Key n
- AID 2 (i.e A00000041010)
- RID (i.e A0000004)
- Key 1
- Key 2
- ...
- Key n
- ...
- AID n :::
- AID 1 (i.e A00000031010)
- Contact
::: details Sample Configuration File
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE preferences SYSTEM
"http://java.sun.com/dtd/preferences.dtd">
<preferences EXTERNAL_XML_VERSION="1.0">
<root type="system">
<map />
<node name="com">
<map />
<node name="creditcall">
<map />
<node name="emvj">
<map />
<node name="properties">
<map />
<node name="Configurations">
<map />
<node name="CONTACT">
<map />
<node name="Application Configuration">
<map>
<entry key="CardHolderConfirmation" value="01" />
</map>
<node name="APP1">
<map>
<entry key="Description" value="_Mastercard1" />
<entry key="<9F06>" value="A0000000041010" />
<entry key="Selection Indicator" value="01" />
<entry key="Order" value="1" />
<entry key="<9F09>" value="0002" />
<entry key="<EF43>" value="01" />
<entry key="<EF51>" value="01" />
<!-- TAC – Denial -->
<entry key="<E002>" value="0000000000" />
<!-- TAC – Online -->
<entry key="<E003>" value="FE50BC8000" />
<!-- TAC – Default -->
<entry key="<E001>" value="FE50BC8000" />
</map>
</node>
<node name="APP2">
<map>
<entry key="Description" value="_Mastercard2" />
<entry key="<9F06>" value="A0000000043060" />
<entry key="Selection Indicator" value="01" />
<entry key="Order" value="2" />
<entry key="<9F09>" value="0002" />
<entry key="<EF43>" value="01" />
<entry key="<EF51>" value="01" />
<!-- TAC – Denial -->
<entry key="<E002>" value="0000000000" />
<!-- TAC – Online -->
<entry key="<E003>" value="FE50BC8000" />
<!-- TAC – Default -->
<entry key="<E001>" value="FE50BC8000" />
</map>
</node>
<node name="APP3">
<map>
<entry key="Description" value="_Visa Credit" />
<entry key="<9F06>" value="A0000000031010" />
<entry key="Selection Indicator" value="01" />
<entry key="Order" value="6" />
<entry key="<9F09>" value="008C" />
<!-- TAC – Denial -->
<entry key="<E002>" value="0010000000" />
<!-- TAC – Online -->
<entry key="<E003>" value="584004F800" />
<!-- TAC – Default -->
<entry key="<E001>" value="584000A800" />
<!-- Partial Name Selection / Indicator -->
<!--<entry key="<1F8113>" value="01" />-->
</map>
</node>
<node name="APP4">
<map>
<entry key="Description" value="_Visa Electron" />
<entry key="<9F06>" value="A0000000032010" />
<entry key="Selection Indicator" value="01" />
<entry key="Order" value="7" />
<entry key="<9F09>" value="008C" />
<!-- TAC – Denial -->
<entry key="<E002>" value="0010000000" />
<!-- TAC – Online -->
<entry key="<E003>" value="584004F800" />
<!-- TAC – Default -->
<entry key="<E001>" value="584000A800" />
<!-- Partial Name Selection / Indicator -->
<!--<entry key="<1F8113>" value="01" />-->
</map>
</node>
</node>
<node name="Sequence Counter">
<map>
<entry key="<9F41>" value="1" />
</map>
</node>
<node name="Terminal Configuration">
<map>
<!-- Terminal Floor Limit -->
<entry key="<9F1B>" value="00000000" />
<!-- Risk management: threshold used for biased random selection-->
<entry key="<E015>" value="00000000" />
<entry key="<E013>" value="00000000" />
<entry key="<E014>" value="00000000" />
<!-- decline without performing TAC when online comm is unsuccessful -->
<entry key="<EF50>" value="00" />
<!-- Terminal Type -->
<entry key="<9F35>" value="22" />
<!-- Additional Terminal Capabilities -->
<entry key="<9F40>" value="F00090B001" />
<!-- Terminal Capabilities -->
<entry key="<9F33>" value="E0F8C8" />
<!-- supported languages -->
<entry key="<1F8130>" value="_enfr" />
<!-- Dynamic Data Authentication Data Object List (DDOL) -->
<entry key="<9F49>" value="9F3704" />
<!-- Terminal Country Code -->
<entry key="<9F1A>" value="0840" />
<!-- Transaction Currency Code -->
<entry key="<5F2A>" value="0840" />
<!-- Transaction Currency Exponent -->
<entry key="<5F36>" value="02" />
<!-- Advice supported -->
<entry key="Advice Supported" value="01" />
<!-- Force terminal risk management -->
<entry key="<EF40>" value="03" />
<!-- Recommended CDA processing -->
<entry key="<EF49>" value="01" />
<!-- 1F to disable fallback on blocked cards -->
<entry key="<1F8122>" value="001F00" />
<!-- This configuration identifier -->
<entry key="<1F8131>" value="_GoldenFileV1.0" />
<!-- PIN bypass supported -->
<entry key="<1F8114>" value="00" />
<!-- kernel debug logging. Change to FF for production -->
<entry key="<DFDD>" value="00" />
<!-- Track 2 data format -->
<entry key="<DFDB>" value="00" />
<!-- pin encryption key -->
<entry key="<1F8127>" value="00" />
<!-- data encryption key -->
<entry key="<1F8128>" value="00" />
<!-- Data format for data encryption-->
<entry key="<1F8129>" value="03" />
<!-- Track data format 2 -->
<entry key="<1F8133>" value="01" />
<!-- Interac App selection supported -->
<entry key="<1F8163>" value="01" />
<!-- PCI Key Management Scheme for Data MAC (For Interac MAC, Safe-T) -->
<entry key="<1F820A>" value="00" />
<!-- Data Record Tags (EMV approval) -->
<entry key="<CFFFFF00>"
value="9F029F039F26829F365F349F7C9F6E9F109F1A95575F2A9A9C9F375F349F669F39DF029F339F275F245A848F8C8D" />
<!-- Data Record Tags (MSD / Magstripe / Non-EMV) -->
<entry key="<CFFFFF01>"
value="9F029F265F349F369F7C9F6E9F109F66579F379C9F39DF028F8C8D" />
<entry key="<CFFFFF02>" value="01" />
<!-- Data Record Tags (decline) -->
<entry key="<CFFFFF50>"
value="9F029F039F26829F365F349F7C9F6E9F109F1A95575F2A9A9C9F375F349F669F39DF029F339F275F245A848F8C8D" />
</map>
</node>
</node>
<node name="VISA">
<map />
<node name="Application Configuration">
<!-- VISA -->
<node name="APP1">
<map>
<entry key="<9F06>" value="A0000000031010" />
<entry key="<9F39>" value="07" />
<!-- Terminal Transaction qualifier -->
<entry key="<9F66>" value="36004000" />
<entry key="<DF02>" value="05" />
<entry key="<DF810C>" value="03" />
<entry key="<DFFFDF00>" value="00" />
<!-- Contactless Transaction Limit $99999.99 -->
<entry key="<DFE2>" value="0098967F" />
<!-- Contactless Floor Limit $0 -->
<entry key="<DFE3>" value="00000000" />
<!-- Contactless CVM Required Limit $50-->
<entry key="<DFE4>" value="00001388" />
</map>
</node>
<node name="APP2">
<map>
<entry key="<9F06>" value="A0000000032010" />
<entry key="<9F39>" value="07" />
<!-- Terminal Transaction qualifier -->
<entry key="<9F66>" value="36004000" />
<entry key="<DF02>" value="05" />
<entry key="<DF810C>" value="03" />
<entry key="<DFFFDF00>" value="00" />
<!-- Contactless Transaction Limit $99999.99 -->
<entry key="<DFE2>" value="0098967F" />
<!-- Contactless Floor Limit $0 -->
<entry key="<DFE3>" value="00000000" />
<!-- Contactless CVM Required Limit $50-->
<entry key="<DFE4>" value="00001388" />
</map>
</node>
</node>
<node name="Sequence Counter">
<map>
<entry key="<9F41>" value="1" />
</map>
</node>
</node>
<node name="MASTERCARD">
<map />
<node name="Application Configuration">
<!-- MASTERCARD -->
<node name="APP1">
<map>
<entry key="<9F06>" value="A0000000041010" />
<entry key="<9F09>" value="0002" />
<entry key="<9F6D>" value="0001" />
<!-- Mobile Support Indicator -->
<entry key="<9F7E>" value="01" />
<!-- Kernel Id -->
<entry key="<DF810C>" value="02" />
<!-- Byte1 of 0x9F33 -->
<entry key="<DF8117>" value="E0" />
<!-- Byte2 of 0x9F33 above cvm limit-->
<entry key="<DF8118>" value="60" />
<!-- Byte2 of 0x9F33 below cvm limit-->
<entry value="08" key="<DF8119>[<009C>!09]"/>
<entry value="20" key="<DF8119>[<009C>?09]"/>
<entry key="<DF811A>" value="9F6A04" />
<!-- Kernel configuration -->
<entry key="<DF811B>" value="B0" />
<entry key="<DF811C>" value="0000" />
<entry key="<DF811D>" value="00" />
<entry key="<DF811E>" value="20" />
<!-- byte 3 of 0x9F33 -->
<entry key="<DF811F>" value="C8" />
<!-- TAC Default -->
<entry key="<DF8120>" value="F45084800C" />
<!-- TAC Denial -->
<entry value="0000000000" key="<DF8121>[<009C>!20]"/>
<entry value="FFFFFFFFFF" key="<DF8121>[<009C>?20]"/>
<!-- TAC Online -->
<entry key="<DF8122>" value="F45084800C" />
<!-- Contactless Floor Limit -->
<entry key="<DF8123>" value="000000000000" />
<!-- Contactless Transaction Limit - No On Device CVM-->
<entry key="<DF8124>" value="000009999999" />
<!-- Contactless Transaction Limit - On Device CVM -->
<entry key="<DF8125>" value="000009999999" />
<!-- Contactless CVM Required Limit -->
<entry key="<DF8126>" value="000000005000" />
<entry key="<DF812C>" value="00" />
<!-- Terminal Risk Management Data -->
<entry key="<9F1D>" value="6C7A800000000000" />
</map>
</node>
<node name="APP2">
<map>
<entry key="<9F06>" value="A0000000043060" />
<entry key="<9F09>" value="0002" />
<entry key="<9F6D>" value="0001" />
<!-- Mobile Support Indicator -->
<entry key="<9F7E>" value="01" />
<entry key="<DF810C>" value="02" />
<!-- Byte1 of 0x9F33 -->
<entry key="<DF8117>" value="E0" />
<!-- Byte2 of 0x9F33 above cvm limit-->
<entry key="<DF8118>" value="40" />
<!-- Byte2 of 0x9F33 below cvm limit-->
<entry value="08" key="<DF8119>[<009C>!09]"/>
<entry value="40" key="<DF8119>[<009C>?09]"/>
<entry key="<DF811A>" value="9F6A04" />
<entry key="<DF811B>" value="B0" />
<entry key="<DF811C>" value="0000" />
<entry key="<DF811D>" value="00" />
<entry key="<DF811E>" value="20" />
<!-- byte 3 of 0x9F33 -->
<entry key="<DF811F>" value="C8" />
<!-- TAC Default -->
<entry key="<DF8120>" value="F45004800C" />
<!-- TAC Denial -->
<entry value="0000800000" key="<DF8121>[<009C>!20]"/>
<entry value="FFFFFFFFFF" key="<DF8121>[<009C>?20]"/>
<!-- TAC Online -->
<entry key="<DF8122>" value="F45004800C" />
<!-- Contactless Floor Limit -->
<entry key="<DF8123>" value="000000000000" />
<!-- Contactless Transaction Limit - No On Device CVM-->
<entry key="<DF8124>" value="000009999999" />
<!-- Contactless Transaction Limit - On Device CVM -->
<entry key="<DF8125>" value="000009999999" />
<!-- Contactless CVM Required Limit -->
<entry key="<DF8126>" value="000000005000" />
<entry key="<DF812C>" value="00" />
<!-- Data Record Tags (EMV) approval -->
<!-- Terminal Risk Management Data -->
<entry key="<9F1D>" value="4C7A800000000000" />
</map>
</node>
</node>
<node name="Terminal Configuration">
<map>
<!-- This configuration identifier -->
<entry key="<1F8131>" value="_GoldenFileV1.0" />
<!-- PIN bypass supported -->
<entry key="<1F8114>" value="00" />
<entry key="<5F2A>" value="0840" />
<entry key="<9F1A>" value="0840" />
<entry key="<5F36>" value="02" />
<!-- Terminal Type -->
<entry key="<9F35>" value="22" />
<!-- Terminal Floor Limit -->
<entry key="<9F1B>" value="00000000" />
<!-- Terminal Capability -->
<entry key="<9F33>" value="E068C8" />
<!-- Additional Terminal Capabilities -->
<entry key="<9F40>" value="F00090F001" />
<entry key="<DFDD>" value="00" />
<entry key="<DFDB>" value="00" />
<!-- Message hold time -->
<entry key="<DF812D>" value="000013" />
<!-- pin encryption key -->
<entry key="<1F8127>" value="00" />
<!-- data encryption key -->
<entry key="<1F8128>" value="00" />
<!-- Data format for data encryption-->
<entry key="<1F8129>" value="03" />
<!-- Track data format 2 -->
<entry key="<1F8133>" value="01" />
<!-- Continue Transaction on Missing PIN Key and set “PIN Entry Required and PIN Pad Not Present or PIN Pad Not Working” in TVR -->
<entry key="<1F8220>" value="02" />
<!-- PCI Key Management Scheme for Data MAC (For Interac MAC, Safe-T) -->
<entry key="<1F820A>" value="00" />
<entry key="<CFFFFF00>"
value="9F219F06849F029F039F265F2482505A5F349F129F369F099F279F34849F1E9F109F119F339F1A9F3595579F535F2A9A9C9F378F8C8D9F6C" />
<!-- Data Record Tags (EMV) decline -->
<entry key="<CFFFFF50>"
value="9F029F039F26829F365F349F7C9F6E9F109F1A95575F2A9A9C9F375F349F669F39DF029F339F275F245A848F8C8D" />
<!-- Data Record Tags (MSD / Magstripe / Non-EMV) -->
<entry key="<CFFFFF01>"
value="509F12849F119F6D569F6B8F8C8D9F6C" />
<entry key="<CFFFFF03>"
value="9F42DF8104DF8102DF810BDF8115DF810EDF810F9F6EFF8101DF8104DF81058F8C8D" />
<entry key="<CFFFFF04>"
value="DF812ADF812BDF81159F6E8F8C8D" />
</map>
</node>
<node name="Sequence Counter">
<map>
<entry key="<9F41>" value="1" />
</map>
</node>
</node>
<node name="MSR">
<map />
<node name="Terminal Configuration">
<map>
<!-- custom bin range - set all as payment cards for testing-->
<entry key="<1F812F>" value="06000000999999" />
<!-- This configuration identifier -->
<entry key="<1F8131>" value="_GoldenFileV1.0" />
<!-- Remove Sentinels and LRC -->
<entry key="<DFDB>" value="00" />
<entry key="<1F8129>" value="03" />
<entry key="<1F8133>" value="01" />
<entry key="<9F35>" value="22" />
<!-- Continue Transaction on Missing PIN Key and set “PIN Entry Required and PIN Pad Not Present or PIN Pad Not Working” in TVR -->
<entry key="<1F8220>" value="02" />
</map>
</node>
</node>
</node>
<node name="PublicKeys">
<map />
<node name="A000000003">
<map>
<entry key="RID" value="A000000003" />
</map>
<node name="Key07">
<map>
<entry key="Index" value="07" />
<entry key="Hash"
value="B4BC56CC4E88324932CBC643D6898F6FE593B172" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A89F25A56FA6DA258C8CA8B40427D927B4A1EB4D7EA326BBB12F97DED70AE5E4480FC9C5E8A972177110A1CC318D06D2F8F5C4844AC5FA79A4DC470BB11ED635699C17081B90F1B984F12E92C1C529276D8AF8EC7F28492097D8CD5BECEA16FE4088F6CFAB4A1B42328A1B996F9278B0B7E3311CA5EF856C2F888474B83612A82E4E00D0CD4069A6783140433D50725F" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key08">
<map>
<entry key="Index" value="08" />
<entry key="Hash"
value="20D213126955DE205ADC2FD2822BD22DE21CF9A8" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="D9FD6ED75D51D0E30664BD157023EAA1FFA871E4DA65672B863D255E81E137A51DE4F72BCC9E44ACE12127F87E263D3AF9DD9CF35CA4A7B01E907000BA85D24954C2FCA3074825DDD4C0C8F186CB020F683E02F2DEAD3969133F06F7845166ACEB57CA0FC2603445469811D293BFEFBAFAB57631B3DD91E796BF850A25012F1AE38F05AA5C4D6D03B1DC2E568612785938BBC9B3CD3A910C1DA55A5A9218ACE0F7A21287752682F15832A678D6E1ED0B" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key09">
<map>
<entry key="Index" value="09" />
<entry key="Hash"
value="1FF80A40173F52D7D27E0F26A146A1C8CCB29046" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="9D912248DE0A4E39C1A7DDE3F6D2588992C1A4095AFBD1824D1BA74847F2BC4926D2EFD904B4B54954CD189A54C5D1179654F8F9B0D2AB5F0357EB642FEDA95D3912C6576945FAB897E7062CAA44A4AA06B8FE6E3DBA18AF6AE3738E30429EE9BE03427C9D64F695FA8CAB4BFE376853EA34AD1D76BFCAD15908C077FFE6DC5521ECEF5D278A96E26F57359FFAEDA19434B937F1AD999DC5C41EB11935B44C18100E857F431A4A5A6BB65114F174C2D7B59FDF237D6BB1DD0916E644D709DED56481477C75D95CDD68254615F7740EC07F330AC5D67BCD75BF23D28A140826C026DBDE971A37CD3EF9B8DF644AC385010501EFC6509D7A41" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key50">
<map>
<entry key="Index" value="50" />
<entry key="Hash"
value="B769775668CACB5D22A647D1D993141EDAB7237B" />
<entry key="Exponent" value="010001" />
<entry key="Modulus"
value="D11197590057B84196C2F4D11A8F3C05408F422A35D702F90106EA5B019BB28AE607AA9CDEBCD0D81A38D48C7EBB0062D287369EC0C42124246AC30D80CD602AB7238D51084DED4698162C59D25EAC1E66255B4DB2352526EF0982C3B8AD3D1CCE85B01DB5788E75E09F44BE7361366DEF9D1E1317B05E5D0FF5290F88A0DB47" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key51">
<map>
<entry key="Index" value="51" />
<entry key="Hash"
value="B9D248075A3F23B522FE45573E04374DC4995D71" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="DB5FA29D1FDA8C1634B04DCCFF148ABEE63C772035C79851D3512107586E02A917F7C7E885E7C4A7D529710A145334CE67DC412CB1597B77AA2543B98D19CF2CB80C522BDBEA0F1B113FA2C86216C8C610A2D58F29CF3355CEB1BD3EF410D1EDD1F7AE0F16897979DE28C6EF293E0A19282BD1D793F1331523FC71A228800468C01A3653D14C6B4851A5C029478E757F" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key99">
<map>
<entry key="Index" value="99" />
<entry key="Hash"
value="4ABFFD6B1C51212D05552E431C5B17007D2F5E6D" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="AB79FCC9520896967E776E64444E5DCDD6E13611874F3985722520425295EEA4BD0C2781DE7F31CD3D041F565F747306EED62954B17EDABA3A6C5B85A1DE1BEB9A34141AF38FCF8279C9DEA0D5A6710D08DB4124F041945587E20359BAB47B7575AD94262D4B25F264AF33DEDCF28E09615E937DE32EDC03C54445FE7E382777" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key95">
<map>
<entry key="Index" value="95" />
<entry key="Hash"
value="EE1511CEC71020A9B90443B37B1D5F6E703030F6" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="BE9E1FA5E9A803852999C4AB432DB28600DCD9DAB76DFAAA47355A0FE37B1508AC6BF38860D3C6C2E5B12A3CAAF2A7005A7241EBAA7771112C74CF9A0634652FBCA0E5980C54A64761EA101A114E0F0B5572ADD57D010B7C9C887E104CA4EE1272DA66D997B9A90B5A6D624AB6C57E73C8F919000EB5F684898EF8C3DBEFB330C62660BED88EA78E909AFF05F6DA627B" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key92">
<map>
<entry key="Index" value="92" />
<entry key="Hash"
value="429C954A3859CEF91295F663C963E582ED6EB253" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="996AF56F569187D09293C14810450ED8EE3357397B18A2458EFAA92DA3B6DF6514EC060195318FD43BE9B8F0CC669E3F844057CBDDF8BDA191BB64473BC8DC9A730DB8F6B4EDE3924186FFD9B8C7735789C23A36BA0B8AF65372EB57EA5D89E7D14E9C7B6B557460F10885DA16AC923F15AF3758F0F03EBD3C5C2C949CBA306DB44E6A2C076C5F67E281D7EF56785DC4D75945E491F01918800A9E2DC66F60080566CE0DAF8D17EAD46AD8E30A247C9F" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key94">
<map>
<entry key="Index" value="94" />
<entry key="Hash"
value="C4A3C43CCF87327D136B804160E47D43B60E6E0F" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="ACD2B12302EE644F3F835ABD1FC7A6F62CCE48FFEC622AA8EF062BEF6FB8BA8BC68BBF6AB5870EED579BC3973E121303D34841A796D6DCBC41DBF9E52C4609795C0CCF7EE86FA1D5CB041071ED2C51D2202F63F1156C58A92D38BC60BDF424E1776E2BC9648078A03B36FB554375FC53D57C73F5160EA59F3AFC5398EC7B67758D65C9BFF7828B6B82D4BE124A416AB7301914311EA462C19F771F31B3B57336000DFF732D3B83DE07052D730354D297BEC72871DCCF0E193F171ABA27EE464C6A97690943D59BDABB2A27EB71CEEBDAFA1176046478FD62FEC452D5CA393296530AA3F41927ADFE434A2DF2AE3054F8840657A26E0FC617" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
</node>
<node name="A000000004">
<map>
<entry key="RID" value="A000000004" />
</map>
<node name="Key04">
<map>
<entry key="Index" value="04" />
<entry key="Hash"
value="381A035DA58B482EE2AF75F4C3F2CA469BA4AA6C" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A6DA428387A502D7DDFB7A74D3F412BE762627197B25435B7A81716A700157DDD06F7CC99D6CA28C2470527E2C03616B9C59217357C2674F583B3BA5C7DCF2838692D023E3562420B4615C439CA97C44DC9A249CFCE7B3BFB22F68228C3AF13329AA4A613CF8DD853502373D62E49AB256D2BC17120E54AEDCED6D96A4287ACC5C04677D4A5A320DB8BEE2F775E5FEC5" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key05">
<map>
<entry key="Index" value="05" />
<entry key="Hash"
value="EBFA0D5D06D8CE702DA3EAE890701D45E274C845" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="B8048ABC30C90D976336543E3FD7091C8FE4800DF820ED55E7E94813ED00555B573FECA3D84AF6131A651D66CFF4284FB13B635EDD0EE40176D8BF04B7FD1C7BACF9AC7327DFAA8AA72D10DB3B8E70B2DDD811CB4196525EA386ACC33C0D9D4575916469C4E4F53E8E1C912CC618CB22DDE7C3568E90022E6BBA770202E4522A2DD623D180E215BD1D1507FE3DC90CA310D27B3EFCCD8F83DE3052CAD1E48938C68D095AAC91B5F37E28BB49EC7ED597" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="Key06">
<map>
<entry key="Index" value="06" />
<entry key="Hash"
value="F910A1504D5FFB793D94F3B500765E1ABCAD72D9" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="CB26FC830B43785B2BCE37C81ED334622F9622F4C89AAE641046B2353433883F307FB7C974162DA72F7A4EC75D9D657336865B8D3023D3D645667625C9A07A6B7A137CF0C64198AE38FC238006FB2603F41F4F3BB9DA1347270F2F5D8C606E420958C5F7D50A71DE30142F70DE468889B5E3A08695B938A50FC980393A9CBCE44AD2D64F630BB33AD3F5F5FD495D31F37818C1D94071342E07F1BEC2194F6035BA5DED3936500EB82DFDA6E8AFB655B1EF3D0D7EBF86B66DD9F29F6B1D324FE8B26CE38AB2013DD13F611E7A594D675C4432350EA244CC34F3873CBA06592987A1D7E852ADC22EF5A2EE28132031E48F74037E3B34AB747F" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyFE">
<map>
<entry key="Index" value="FE" />
<entry key="Hash"
value="9A295B05FB390EF7923F57618A9FDA2941FC34E0" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A653EAC1C0F786C8724F737F172997D63D1C3251C44402049B865BAE877D0F398CBFBE8A6035E24AFA086BEFDE9351E54B95708EE672F0968BCD50DCE40F783322B2ABA04EF137EF18ABF03C7DBC5813AEAEF3AA7797BA15DF7D5BA1CBAF7FD520B5A482D8D3FEE105077871113E23A49AF3926554A70FE10ED728CF793B62A1" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyF3">
<map>
<entry key="Index" value="F3" />
<entry key="Hash"
value="A69AC7603DAF566E972DEDC2CB433E07E8B01A9A" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="98F0C770F23864C2E766DF02D1E833DFF4FFE92D696E1642F0A88C5694C6479D16DB1537BFE29E4FDC6E6E8AFD1B0EB7EA0124723C333179BF19E93F10658B2F776E829E87DAEDA9C94A8B3382199A350C077977C97AFF08FD11310AC950A72C3CA5002EF513FCCC286E646E3C5387535D509514B3B326E1234F9CB48C36DDD44B416D23654034A66F403BA511C5EFA3" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyFA">
<map>
<entry key="Index" value="FA" />
<entry key="Hash"
value="5BED4068D96EA16D2D77E03D6036FC7A160EA99C" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A90FCD55AA2D5D9963E35ED0F440177699832F49C6BAB15CDAE5794BE93F934D4462D5D12762E48C38BA83D8445DEAA74195A301A102B2F114EADA0D180EE5E7A5C73E0C4E11F67A43DDAB5D55683B1474CC0627F44B8D3088A492FFAADAD4F42422D0E7013536C3C49AD3D0FAE96459B0F6B1B6056538A3D6D44640F94467B108867DEC40FAAECD740C00E2B7A8852D" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyF1">
<map>
<entry key="Index" value="F1" />
<entry key="Hash"
value="D8E68DA167AB5A85D8C3D55ECB9B0517A1A5B4BB" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A0DCF4BDE19C3546B4B6F0414D174DDE294AABBB828C5A834D73AAE27C99B0B053A90278007239B6459FF0BBCD7B4B9C6C50AC02CE91368DA1BD21AAEADBC65347337D89B68F5C99A09D05BE02DD1F8C5BA20E2F13FB2A27C41D3F85CAD5CF6668E75851EC66EDBF98851FD4E42C44C1D59F5984703B27D5B9F21B8FA0D93279FBBF69E090642909C9EA27F898959541AA6757F5F624104F6E1D3A9532F2A6E51515AEAD1B43B3D7835088A2FAFA7BE7" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyEF">
<map>
<entry key="Index" value="EF" />
<entry key="Hash"
value="21766EBB0EE122AFB65D7845B73DB46BAB65427A" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A191CB87473F29349B5D60A88B3EAEE0973AA6F1A082F358D849FDDFF9C091F899EDA9792CAF09EF28F5D22404B88A2293EEBBC1949C43BEA4D60CFD879A1539544E09E0F09F60F065B2BF2A13ECC705F3D468B9D33AE77AD9D3F19CA40F23DCF5EB7C04DC8F69EBA565B1EBCB4686CD274785530FF6F6E9EE43AA43FDB02CE00DAEC15C7B8FD6A9B394BABA419D3F6DC85E16569BE8E76989688EFEA2DF22FF7D35C043338DEAA982A02B866DE5328519EBBCD6F03CDD686673847F84DB651AB86C28CF1462562C577B853564A290C8556D818531268D25CC98A4CC6A0BDFFFDA2DCCA3A94C998559E307FDDF915006D9A987B07DDAEB3B" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
<node name="KeyF8">
<map>
<entry key="Index" value="F8" />
<entry key="Hash"
value="F06ECC6D2AAEBF259B7E755A38D9A9B24E2FF3DD" />
<entry key="Exponent" value="03" />
<entry key="Modulus"
value="A1F5E1C9BD8650BD43AB6EE56B891EF7459C0A24FA84F9127D1A6C79D4930F6DB1852E2510F18B61CD354DB83A356BD190B88AB8DF04284D02A4204A7B6CB7C5551977A9B36379CA3DE1A08E69F301C95CC1C20506959275F41723DD5D2925290579E5A95B0DF6323FC8E9273D6F849198C4996209166D9BFC973C361CC826E1" />
<entry key="Hash Algorithm" value="01" />
<entry key="Sign Algorithm" value="01" />
</map>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</root>
</preferences>
:::
# EMV Configuration File Versioning
The version number is a parameter in the config file and used to track configuration file changes. First part of the version number on the left-hand side of the (.) indicates the production version and incremented only for production changes. The second part on the right-hand side of the (.) indicates the test version and incremented only for test(L3 tests, regressions, etc) changes.
For example, lets assume that we have a production config version 1.0 and we will have a new config based on our partner requests or compliance rules. We perform the smoke tests, increment the right side of the config file (1.1) and give it to partner for their tests. During regression tests, we realize that more changes in the config file are needed and we do changes 3 times. In this case, the right side of version is incremented to 1.2, 1.3 and then 1.4. When partner finishes tests and approves the file, the file goes to production with the version 2.0.
# EMV Configuration File Operations
EMV Config file can be pushed to a terminal in 2 ways :
- Using ADB command
- Using Mission Control
# Push with ADB Command
- Make sure you have ADB access to devices
- Get the .xml file for EMV configuration
- Run this command :
adb push <file name> /sdcard/poyntconfig/Poynt_L3_configs_override.xml
(file name is the location of EMV configuration file)
- Go to Settings-->Developer Preferences-->Card Reader Configuration on payment terminal
- Press “Load Live Config“
- You will see “Terminal Configuration in progress“ on terminal screen
- Check “Configuration verification complete“ “SUCCESS“ messages on the screen
# Push with Mission Control
- Get the URL address of the config file from Poynt team
- Go to “Manage terminal“ in the Mission Control by entering the Serial Number of terminal
- Press “CREATE JOB“ and Select “Load Live Config“ from drop-down menu
- Enter Config File URL
- Press “CREATE TERMINAL JOB“
- Reboot your terminal
EMV Config file version can be checked in 2 ways :
- Using Mission Control
- Using Terminal Menu
# Check Config File Version (via Mission Control)
- Go to “Manage terminal“ in the Mission Control by entering the Serial Number of terminal
- You will see EMV Config version number on the main screen.
# Check Config File Version (via Terminal Menu)
- Go to Settings-->About
- You will see EMV Config version number under “Card Reader Configuration“ item.