Skip to main content

SCA Functional Specification

EMV and INI Files Configurations

Last updated: 04-Dec-2024
  

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
Generic card configuration parameter.
  • 1 - MSD Only
  • 2 - EMV & MSD
  • 3 - EMV Only
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  
Issuer Transaction Scheme for PP1000
  • C0 - 192
  • C1 - 193
Debit AID  
AID for Debit transaction
  • 0 - Off
  • 1 - On
PartialNameAllowedFlag Ex: 1
  • 1 - Partial matching NOT allowed
  • 2 - Partial matching allowed
EnabledForAID  
Enable the AID in this record for contactless transactions.
  • 0 - Off
  • 1 - On

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
NOTE: Multiple payment types can be configured for a particular AID in AIDLIST.xml. Adding multiple payment types and schemes should be used with ‘|’ separator.
  • CREDIT
  • DEBIT
  • AUTOSEL = DEBIT, but will be treated as CREDIT if CVM is not PIN (Offline/Online)
  • DUAL = Will prompt user for card type selection
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>

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo