Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

From Agnos Framework 2.x, it’s possible to use an .ini file to generate a set of binary data files (i.e. the persisted model) that are used by the framework to initialize internal structures (i.e. the instanciated model). Framework 3.2.x now provides a standard component, AgnosGE, that is optionnaly integrated at Level3.

INI File Structure

[Config] section

The following key is used:

; No or Yes to generate a log file at compilation time

  • Debug=No

[Output] section

The following keys are used:

; files’ names at compilation time. TLV format: COMBINATION and AID not generated for contactless mode

  • Terminal=myTERMINAL

  • Processing=myPROCESSING

  • Entrypoint=myENTRY_POINT

  • Aid=myAID

  • Combination=myCOMBINATION

[Terminal] section

The following keys are used:

; basically, EMV contact ICS

  • CountryCode=56

  • ProvideCardholderConfirmation=Yes

  • TerminalType=22

  • EMVContact=Yes

  • TerminalCapabilities=E0B0C8

  • AdditionalTerminalCapabilities=7000F0A001

  • EMVContactless=Yes

  • Magstripe=No

  • PinTimeOut=15

  • BatchManaged=Yes

  • AdviceManaged=Yes

  • PSE=Yes

  • Autorun=No

  • PredefinedAmount=0

  • PINByPass=0

  • ReferralManaged=0

  • DefaultTACSupported=0

  • TACDefault=0000000000

  • TACDenial=0000000000

  • TACOnline=0000000000

  • RTSNotSupported=0

  • VCNotSupported=0

  • CDAType=2

  • Clipping=No

  • SRED=No

[AID:kernelId] section

As an example, the following keys are used for a dual AID:

  • KernelId=2

  • Purchase=9F1A020056 9F350121 9F40056000F0B001 9F1C083132333435363738 9F1B0400000000 9F15025999 9F4E0F4142434445464748494A4B4C4D4E4F DF2005D84000A800 DF21050808000000 DF2205D84004F800 9F09020002 DF1B01A0 DF2306000000001000 DF2406000000030000 DF2506000000050000 DF2606000000030000 DF300108 9F330360B0C8 5F5700 9F0106010203040506 DF170100 DF180160 DF190108 DF1A039F6A04 DF0C0102 DF1E0110 DF2C0100 DF1C0200B4 DF1D0102 9F4E00 9F7E00 DF030108

  • Cash=9F1A020056 9F350121 9F40056000F0B001 9F1C083132333435363738 9F1B0400000000 9F15025999 9F4E0F4142434445464748494A4B4C4D4E4F DF2005D84000A800 DF21050808000000 DF2205D84004F800 9F09020002 DF1B01A0 DF2306000000001000 DF2406000000030000 DF2506000000050000 DF2606000000030000 DF300108 9F330360B0C8 5F5700 9F0106010203040506 DF170100 DF180160 DF190108 DF1A039F6A04 DF0C0102 DF1E0110 DF2C0100 DF1C0200B4 DF1D0102 9F4E00 9F7E00 DF030108

  • ApplicationSelectionIndicator=Yes

  • Contact=9F0106010203040506DF2005FFFFFFFFFFDF2105FFFFFFFFFFDF2205FFFFFFFFFF9F0902008C DF110101DF120101DF130101DF140101DF150101 DF010101 DF71039F3704 DF020101 DF72029A03 5F2A020978 5F360102 9F1B0400002710 DF700114 DF6F0150 DF6E030001F4

Note: AID shall be set to a value so that the section is parsed like [A0000000041010:2] where AID = A0000000041010 andd KernelId = 2

INI File Configuration

Contact

Contact configurations use only 2 files:

Whereas TERMINAL file reflects the EMV Level2’s contact ICS, PROCESSING file contains all the processor/acquirer parameters like TACs, floor limit, etc…

To set a configuration for a specific AID:

  • Define the specific AID section. Example: [A0000000041010]

  • Within that section, define a TLV string to declare business parameters. Example: Contact=9F0106010203040506 DF2005FFFFFFFFFF DF2105FFFFFFFFFF DF2205FFFFFFFFFF

  • Within that section, optionally allow short identifier selection. Example: ApplicationSelectionIndicator=Yes

All possible tags are defined in Tags section.

Contactless

Implementing and certifying contactless payment application led to the following statement: there is a great functional inconsistency between all the brands generating a difficult integration level and complex user experience design. For examples, a brand might support torn transactions whereas the others don’t. This is the same for the support of the 2nd GenAC or the EMVCo risk management. Furthermore, each brand has specified its own tags where management rules may differs (for example one brand may allow private tags redundancy whereas others don’t). One could also discuss on data storage which suffers of a great lack of standardization.

Agnos Framework tries to provide a unified way to accept different payment brands from different technologies at the same point of acceptance. It provides an agnostic and easy path to contact and contactless integration stacks without going deep into details. However, integrating the framework requires a good knowledge on EMV and payment principles to design a stable Level3 application. However, this document can’t present all the payment networks specifications. So, readers need to refer to available relevant information like specifications and test plans available at their region of deployment and at the time of integration.

Common Agnos contactless standardization setups:

  • Agnos kernels are meant to implement card-to-terminal interactions. Hence, all Level3 features like exception list management a not supported (excepted if mandatory for an ICS). However, Agnos Framewok generic Data Exchange allows to integrate that feature during the Level3 development

  • Agnos is optimized for rapid transactions allowing the cardholder to clear the card from the acceptance device as soon as possible. As such, there is only one Terminal Action Analysis (i.e. no genAC2) and issuer update is not supported (excepted if mandatory for an ICS)

  • DF1B, inherited from MasterCard PayPass, is the common tag for a kernel configuration. See corresponding bitmap for each brand in the following sections

  • DF30 is a tag used to set specific options for Visa PayWave and Visa alike kernels. See corresponding bitmap in the following sections

  • Field Terminal.EMVContactless may set set to bFALSE (0) to force a terminal to run in a contactless magstripe mode when a kernel supports that mode

Contactless configurations use either 3 files (TLV binary format) or 5 files (RAW binary format): The configuration files in Agnos are:

Whereas TERMINAL is limited to declare whether or not the terminal supports EMV contactless, and PROCESSING contains supported AID (contact and contactless in dual mode), most of the business parameters are declared using ENTRY_POINT file.

Note: From Agnos Framework 3.1.x, TLV format is commonly used. RAW format files are nowadays supported in order to support Agnos Automation.

To set a configuration for a specific contactless AID:

  • Define the specific AID section. Example: [A0000000041010]

  • Within that section, define the corresponding kernel identifier. Example: KernelId=2

  • Within that section, define a TLV string to declare business parameters. Example: Purchase=9F1A020056 9F350121 9F40056000F0B001 9F1C083132333435363738 9F1B0400000000 9F15025999 9F4E0F4142434445464748494A4B4C4D4E4F DF2005D84000A800 DF21050808000000 DF2205D84004F800 DF2306000000001000 DF300108 5F5700 9F0106010203040506

Possible values for transaction type are:

  • Purchase

  • Cash

  • WithCashback

  • Refund

  • ManualCash

  • QuasiCash

  • Deposit

Within that section, allow short identifier selection. Example: ApplicationSelectionIndicator=Yes

All possible tags are presented in the Configuration Model section.

  • No labels