Amadis
Merchant/Operator Application Integration
Overall Architecture
Â
Â
AgnosEP
AgnosEP provides the main point of entry to initiate EMV transactions for CL acceptance system. It shall be called from the payment application which shall manage two structures:
tPaymentContext (in/out)
tOutComeParameter (out)
Each time a new transaction is triggered these two structures shall be initialized .That call shall be performed once the system has been properly initialized.
AgnosMW
AgnosMW provides a set of primitives to manage the transient data model. It also defines the C structures used to manage transaction flows, mainly:
tPaymentContext
tOutComeParameter
Agnos
Agnos provides a set of EMV core primitives which support EMV transaction flow.
These primitives are used by:
CT payment applications (study emvco.c as an example, or OLA for Agnos)
CL card processing applications (alias CL kernels)
Â
Agnos encapsulates an EMV tags database. This API is usually not accessed from payment application excepted to manage “unknow tags’', alias proprietary tags (see below).
Â
Agnos is split up into two sets of primitives:
Selection set: explicit selection and pse selection.
EMV set: Final Select, GPO, Read Record, ODA (SDA,DDA, CDA), CVM, Terminal Action Analysis, Card Action Analysis
Â
Agnos provides three modes of execution (see Training modules for more details):
Direct Execution (meant for contact): an EMV transaction is peformed from Final Select to Generate AC1
Granular Calls (meant for contactless): an EMV transaction is performed step-by-step depending on a specific logic. Each EMV step is directly called and the control is implemented outside the core engine
State Machine (meant for contact and contactless): an EMV transaction can be formed performed step-by-step with the control inside and outside the core engine (a mix between to 2 previous modes to reduce the complexity of granular calls sequence)
Callbacks
There are 8 callbacks available at different levels of Agnos Framework API (see architecture model above).