EMV and INI Files Configurations
Note
Contact your Verifone representative to determine EMV status for specific processors. This section is subject to change.
Each processor has a set of INI files.
The INI files required for EMV are downloaded to the payment device. Point application parameter emvsetupreqd should be set to 1. Point consumes the available INI files when the application is loaded and will perform the EMV initialization.
The INI file format is an informal standard for configuration files for some platforms or software. INI files are simple text files with a basic structure composed of “sections” and “properties (keys)”. Point supports five separate INI files that facilitate the configuration of EMV processing.
- EMVTables.INI This file defines each scheme – with a corresponding Config, CAPK, and AID section
- CAPKData.INI - This file contains required keys that correlate to the RIDs listed in EMVTables.ini
- OptFlag.ini (There is no OptFlag.ini. See instead propertiesdata.xml file)
- PreferredAIDs.INI – This file allows you to auto select one AID over another.
- CTLSConfig.ini – This file is used to configure the device for contactless transaction processing.
Note
Vantiv Direct only supports CardTypeConfig and TranLimit parameters currently.
- DebitAIDs.INI – This file was present in earlier Vantiv Direct implementations. The DebitAIDs.INI file contains a list of the supported EMV Debit Application Identifiers (RID + PIX). The application compares the AID selected (at application selection screen) with the AIDs listed in this file. If a match is found, the transaction submitted to the processing host will be indicated as a DEBIT transaction.
Note
Vantiv Direct only supports CardTypeConfig and TranLimit parameters currently.
Vantiv Direct only supports CardTypeConfig and TranLimit parameters currently.
EMVTables.ini
The EMVTables.INI file consists of repeating sections associated with the definition for each scheme to be supported by Point.
Each scheme should have a corresponding Config, AID, and CAPK section.
Config Section Field Definitions
The following table provides a brief definition for each of the fields within the Config section as they correspond to settings within the MVT Record.
Fields | Definition |
---|---|
EMVTableRecord | Specifies the number of the MVT record that specifies data for the scheme. |
FloorLimit | Specifies the limit set by the issuer/acquirer for the transaction amount to be approved offline. |
RSThreshold | Specifies the threshold value for biased random selection which should be a range of 0 (zero) to less than the floor limit. |
TargetRS% | Specifies the random selection percentage value. This is the target percentage used for random selection and is of range 0 to 99. |
MaxTargetRS% | Specifies the maximum target random selection value used for biased random selection and is of range 0 to 99. |
MerchForcedOnline | Specifies the support for forced online transaction. |
BlackListedCardSpprt | Specifies the validation support for blacklisted cards. |
TACDefault | Specifies the acquirer’s conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. |
TACDenial | Specifies the acquirer’s conditions that cause the denial of a transaction without attempting to go online. |
TACOnline | Specifies the acquirer’s conditions that cause a transaction to go online. |
DefaultTDOL | The default TDOL (Terminal Data Object List) in the terminal is used when the TDOL is not present in the ICC. |
DefaultDDOL | In case the DDOL (Dynamic data authentication Data Object List) is not present in the card, the default DDOL will be used. |
FallbackAllowed | Specifies whether fallback is allowed. |
NextRecord | Specifies that there is another record available for the same scheme. (-1 default) |
AutoAppSelection | Specifies whether to support automatic application selection. |
EMVCountryCode | Specifies the code of the country where this terminal is being used. |
EMVCurrencyCode | Specifies the terminal currency code in which the account is managed according to ISO 4217. |
TermCurrencyExp | Specifies the implied position of the decimal point from the right of the account represented according to ISO 4217. |
TermCapabilities | Specifies the terminal capability which is a three byte value that defines the capabilities of the terminal like: card data input, CVM and security capabilities of the terminal. |
AddTermCapabilities | Specifies the data input and output capabilities of the terminal. |
TerminalType | Specifies the environment of the terminal, its communication capability, and its operational control. |
MercCatCode | This classifies the type of business being done by the merchant represented according to ISO 8583:1993 for Card Acceptor Business Code. |
TermCatCode | This is a MasterCard defined data element that assists with Card Risk Management. |
ModCandidateList | This flag allows the application to modify the candidate list. |
CAPK Section Field Definitions
The following table provides a brief definition for each of the fields within the CAPK configuration section associated with a scheme definition.
Fields | Definition |
---|---|
RID | This field is used to store the RID (Registered application provider Identifier) specific to the card scheme name. |
CSNList | The CSN file contains the revoked issuer certificate serial numbers belonging to this scheme. |
PublicKeyIndex1-15 | Defines CAPK File Index. This is the decimal value of the CAPK Index. |
CAPKFile1-15 | Defines the file name exponent of Certificate Authority. |
CAPKExpDate1-15 | Defines the expiry date of the CAPK file. |
AID Section Field Definitions
The following table provides a brief definition for each of the fields within the AID configuration section associated with a scheme definition. The repeated key fields are not required to be completely filled out.
Fields | Definition |
---|---|
SupportedAID1-10 | Used to store the AID supported by the application. |
PartialNameAllowed1-10 | Specifies if the partial name selection is allowed/not allowed for the AID. Example: 2 |
TermAVN1-10 | Specifies the terminal version number for this AID. |
SecondTermAVN1-10 | Used to store the second possible terminal AVN for the AID. |
RecommendAppName1-10 | If the card does not have an application label or application preferred name for the specified AID, then this field will be used as an application name for display and printing purposes. |
CAPKData.INI
The CAPKData.INI file consists of repeating sections associated with the definition for each scheme to be supported by Point.
The INI file follows the layout as described below.
CAPKFiles Section
List of CAPK files to be created
A000000003.50
A000000004.02
A000000025.99
…
<Filename1>. Data
Modulus Length
Exponent Length
Exponent
Hash Value
Expiration Date
<Filename1>.Modulus
Line1
Line2
Line2
...
<Filename2>. Data
Modulus Length
Exponent Length
Exponent
Hash Value
Expiration Date
<Filename2>.Modulus
Line1
Line2
Line2
...
<Repeated for each filename in the CAPK filename section>
CAPKFiles Section
This section contains the configuration information for the CAPK files for the terminal. The FILENAME data field is a repeating field in this section that is appended with a numeric suffix denoting the set number (1-N).
CAPKFiles Field Definitions
The following table provides a brief definition for each of the fields within the CAPK Files section that defines the CAPK files being configured.
Fields | Definition |
---|---|
FILENAME1-n | The CAPK Filename following the naming convention: AAAAAAAAAA.NN. Where, AAAAAAAAAA is the RID associated with the CAPK represented as an ASCII hex number (for example, VISA is A000000003), NN is the Index associated with the CAPK. |
Data Section
This section contains definition elements for the CAPK file denoted by the section name with the appended .DATA suffix.
Data Field Definitions
The following table provides a brief definition for each of the fields within the CAPK file information.
Fields | Definition |
---|---|
MODULUSLEN | 3-Digit CAPK Modulus Length (ASCII hex representation) |
EXPONENTLEN | 2-Digit CAPK Exponent Length (ASCII hex representation) |
EXPONENT | CAPK Exponent (ASCII hex representation) |
HASHVALUE | 40-Digit Checksum value (ASCII hex representation) |
CAPKEXPDATE | Defines the expiry date of the CAPK file (ddmmyy). |
Modulus Section
This section contains definition of the CAPK Modulus as defined by the modulus length (MODULUSLEN) as set in the corresponding Data section for this CAPK file definition.
Modulus Field Definitions
The following table provides a brief definition for each of the fields within the CAPK Modulus section.
Fields | Definition |
---|---|
MOD1-n | CAPK Modules (ASCII hex representation). This field repeats until the modulus definition satisfies the length requirement as defined by the MODULUSLEN field within the corresponding Data section for the CAPK file. |
CAPKData.INI Example
[CAPKFiles]
FILENAME17=A000000025.C1
FILENAME18=A000000025.C2
[A000000025C1.DATA]
MODULUSLEN=144
EXPONENTLEN=1
EXPONENT=03
HASHVALUE=DC79D6B5FC879362299BC5A637DAD2E0D99656B8
CAPKEXPDATE=311217
[A000000025C1.MODULUS]
MOD1=E69E319C34D1B4FB43AED4BD8BBA6F7A8B763F2F6EE5DDF7
MOD2=C92579A984F89C4A9C15B27037764C58AC7E45EFBC34E138
MOD3=E56BA38F76E803129A8DDEB5E1CC8C6B30CF634A9C9C1224
MOD4=BF1F0A9A18D79ED41EBCF1BE78087AE8B7D2F896B1DE8B7E
MOD5=784161A138A0F2169AD33E146D1B16AB595F9D7D98BE6710
MOD6=62D217F44EB68C68640C7D57465A063F6BAC776D3E2DAC61
[A000000025C2.DATA]
MODULUSLEN=176
EXPONENTLEN=1
EXPONENT=03
HASHVALUE=8E748296359A7428F536ADDA8E2C037E2B697EF6
CAPKEXPDATE=311220
[A000000025C2.MODULUS]
MOD1=B875002F38BA26D61167C5D440367604AD38DF2E93D8
MOD2=EE8DA0E8D9C0CF4CC5788D11DEA689E5F41D23A3DA3E
MOD3=0B1FA5875AE25620F5A6BCCEE098C1B35C691889D7D0
MOD4=EF670EB8312E7123FCC5DC7D2F0719CC80E1A93017F9
MOD5=44D097330EDF945762FEE62B7B0BA0348228DBF38D42
MOD6=16E5A67A7EF74F5D3111C44AA31320F623CB3C53E609
MOD7=66D6920067C9E082B746117E48E4F00E110950CA54DA
MOD8=3E38E5453BD5544E3A6760E3A6A42766AD2284E0C9AF
CTLSConfig.ini
The CTLSConfig.INI file consists of repeating sections associated with the definition for each scheme to be supported by Point.
.Config Field Definitions
Fields | Default or Example | Definition |
---|---|---|
CVMLimit | Ex: 2500 | Maximum 12 digits, two decimals implied. Cardholder Verification Method Limit – determines whether a signature line should be printed on the receipt. Values above this limit require a signature. |
FlrLimit | Maximum 12 digits, two decimals implied. Same value in the D19-CTLSCVMLimit. | |
TranLimit | Maximum 12 digits, two decimals implied. Contactless Transaction Limit - maximum transaction amount allowed for contactless transactions. | |
TACDefault | Contactless Terminal Action Code – Default. Used by the terminal to specify conditions that cause a transaction to be rejected if it might have been approved online, but the terminal is unable to process the transaction online. | |
TACDenial | Contactless Terminal Action Code – Denial. Used by the terminal to determine whether a transaction should be denied without an attempt to go online | |
TACOnline | Contactless Terminal Action Code – Online. Used by the terminal to determine conditions for which a transaction should go online for approval. | |
TermCapabilities | Terminal Capabilities. Represents the data input and output capabilities of the device. | |
TermAddCapabilities | Additional Terminal Capabilities | |
CountryCode | Ex: 840 | US - 840 |
CurrencyCode | Ex: 840 | US - 840 |
CardTypeConfig | Ex: 1 |
|
TermCapUL | Terminal Capabilities Under the Limit | |
TermCapOL | Terminal Capabilities Over the Limit |
.AID Field Definitions
Fields | Default or Example | Definition |
---|---|---|
AIDMaxLen | Ex: 16 | Maximum AID length |
TransScheme |
|
|
Debit AID |
|
|
PartialNameAllowedFlag | Ex: 1 |
|
EnabledForAID |
|
The INI file follows the layout as described in the (Vantiv Direct) example below.
[SupportedSchemes]
Scheme1=VISA
Scheme2=MASTERCARD
Scheme3=AMEX
Scheme4=DISCOVER
[VISA.Config]
CVMLimit=0
FlrLimit=0
TranLimit=0
TACDefault=DC4000A800
TACDenial=0010000000
TACOnline=DC4004F800
TermCapabilities=E028C8
TermAddCapabilities=6000F0A001
CountryCode=840
CurrencyCode=840
CardTypeConfig=1
[VISA.AID]
AID1=A0000000031010
AIDMaxLen1=16
TransScheme1=192
DebitAID1=0
PartialNameAllowedFlag1=1
EnabledForAID1=1
AID2=A0000000032010
AIDMaxLen2=16
TransScheme2=192
DebitAID2=0
PartialNameAllowedFlag2=1
EnabledForAID2=1
[MASTERCARD.Config]
CVMLimit=100
FlrLimit=1000
TranLimit=5000
TACDefault= FC50808800
TACDenial=0000000000
TACOnline= FC50808800
TermCapabilities=E028C8
TermAddCapabilities=600000B000
CountryCode=840
CurrencyCode=840
CardTypeConfig=1
TermCapUL=0008C8
TermCapOL=0028C8
[MASTERCARD.AID]
AID1=A0000000041010
AIDMaxLen1=16
TransScheme1=209
DebitAID1=0
PartialNameAllowedFlag1=1
EnabledForAID1=1
CardInputCap1=00
SecurityCapability1=08
EMVCVMReqCapabilities1=28
EMVNoCVMReqCapabilities1=08
MagStripeCVMReqCapabilities1=10
MagStripeNoCVMReqCapabilities1=00
DefaultUDOL1=9F6A04
RdrCTLSTransLimitNoOnDeviceCVM1=999999999999
RdrCTLSTransLimitOnDeviceCVM1=999999999999
KernelConfig1=60
ContactCVMConfig1=F0
AIDLIST.xml
This file determines treatment of EMV credit vs EMV debit.
Fields | Definition |
---|---|
PaymentType |
|
CashBackIndicator | 0 (Cashback Not Supported) or 1 (Cashback Supported). NOTE: PRCASH in PropertiesData.xml must also be enabled. |
saftransactionfloorlimit | If present, this field will define the Offline Approval SAF transaction floor limit for the AID. Maximum Length is 8 Data Type is numeric. Example: for $10.00, saftransactionfloorlimit must be set to “1000”. If not present, floor limit will be taken from TRANSACTIONFLOORLIMIT parameter. |
Sample AIDLIST.xml
<AIDLIST>
<AID Name="A0000000031010" PaymentType="CREDIT" Scheme="Visa" ="No" />
<AID Name="A0000000032010" PaymentType="DEBIT" Scheme="Visa" CashBackIndicator="0" />
<AID Name="A0000000033010" PaymentType="DEBIT" Scheme="Visa" CashBackIndicator="0" />
<AID Name="A0000000041010" PaymentType="CREDIT" Scheme="MasterCard" CashBackIndicator="0" />
<AID Name="A0000000043060" PaymentType="DEBIT" Scheme="MasterCard" CashBackIndicator="0" />
<AID Name="A0000000042203" PaymentType="AUTOSEL" Scheme="MasterCard" CashBackIndicator="0" />
<AID Name="A0000000980840" PaymentType="AUTOSEL" Scheme="Visa" CashBackIndicator="0" />
<AID Name="A0000001523010" PaymentType="CREDIT" Scheme="Discover" CashBackIndicator="0" />
<AID Name="A0000003241010" PaymentType="CREDIT" Scheme="Discover" CashBackIndicator="0" />
<AID Name="A00000002501" PaymentType="CREDIT" Scheme="Amex" CashBackIndicator="0" />
<AID Name="A0000000031010" PaymentType="CREDIT" Scheme="VISA" CashbackIndicator="0" saftransactionfloorlimit="1000"/>
<AID Name="A0000000031010" PaymentType="CREDIT|PRIV_LBL" Scheme="VISA|PRIV_LBL" CashbackIndicator="0"/>
<AID Name="A0000000031010" PaymentType="AUTOSEL|PRIV_LBL" Scheme="VISA|PRIV_LBL" CashbackIndicator="0"/>
</AIDLIST>