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 7 Next »

Overall Architecture

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)

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

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 (see AgnosMW API).

  • No labels