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

Developing a L2 stack is challenging. It is about balancing the certificability and the flexibility.

Certificability means that the stack shall not be altered once it has been TA approved. L2 behaviors shall be black-boxed so the integrators have not to deal with that level of complexitiy.

Flexibility means that stack shall be adaptable to any merchant/acquirer context. The regional nature of the payment is not well addressed by EMVCo specifications:

a) There is not enough guidance to abstract the EMV application selection process considering the need of particular selection mechanisms in some countries that are not tested during L2 test plan but addressed during end-to-end integrations

b) There is not clear logiccal definition of the card processing. There is no interoperability defined between entry points and contactlless kernels, payment application and entry points, or even payment applications and contact kernels. Merchant projects integration make reveal difficulties to implement specific requirements such as acquirer risk management

c) Proprietary tags management is adressed from a card’s perspective but there is not specifications on how to manage them from a specific L2 to L3 service

To try to limit the complexity and the risk of adding card processing behaviors during a L3 development, Agnos proposes different callbacks (8) that extend Agnos behavior without having to dig into L2 specifications:

  • ApplicationSelectionMethod (see entrypoint.h)

  • KernelSelectionMethod (see entrypoint.h)

  • tGetDataCallback (see agnostypes.h)

  • tBuildDOLCallback (see agnostypes.h)

  • tStateStateCallback (see agnostypes.h)

  • AddTag_Contactless (see agnosdatabase.h)

  • AddUnknownTag_Contactless (see agnosdatabase.h)

  • emvCallback (see dataxchng.h)

  • No labels