AADE FIM Control

An overview of the AADE FIM Control message for Android.

Overview

👉 The AADE FIM Control request is used to synchronise the Viva Terminal application with the FIMAS Master Key, which is required for AADE digital signature compliance.

This deeplink is applicable only when FIMAS is used for AADE digital signature.

  • Synchronisation with the FIMAS Master Key is mandatory
  • If the Viva Terminal App is not synchronised, it will not accept any sales request with FIMAS signature

The client app must implement a mechanism to send messages using Android intents and URI calls and to receive the result in a custom URI callback.

This action internally performs two operations required by AADE regulations:


AADE FIM Control request

For a typical AADE FIM Control request, the client app must provide the following information:

Field Description Example Required Card terminal support
scheme The Viva custom URL scheme, the host and the version. 'vivapayclient://pay/v1'
action Synchronise the Master Key with the Viva Terminal App. 'aade_fim_control'
token The FIMAS Token.
Use ECR TOKEN as defined in A.1098/2023.

Format:
ECR0110A/S<session number>/F<amount>:978:2
/D<datetime>/R<ecr-id>/H<operator-number>/T0
/M/Q<mac>
'token'
appId The client app ID. For successful validation, should not be empty. 'com.example.myapp'
callback The URI callback that will handle the result. For successful validation, should not be empty. 'mycallbackscheme://result'

The above information elements must create a URI call, i.e.

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(
    "vivapayclient://pay/v1"
    + "?action=aade_fim_control"
    + "&token=ECR0110U/RCFB77000040/CMAC_K:45461E57818C32829C41DEDCF803CE1D:CC5FFF"
    + "&appId=com.example.myapp"
    + "&callback=mycallbackscheme://result"));

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(intent);

AADE FIM Control response

After executing the AADE FIM Control request, the ‘Viva.com Terminal’ application responds with the result of the synchronisation.

The result is received as a URI in the callback activity intent:

Uri result = getIntent().getData();

The table below summarises the contents of the response.

Field Description Example Card terminal support
status The status of the request. 'success'
message A string containing information about the request status. 'Fim control success'

A successful response looks as follows:

Key to card terminal product categories

To understand the icons used on the above tables, see the below table.

Product category Terminal models Icon
Android Card Terminals Android Card Terminal Ethernet, Android Card Terminal 4G, Mobile Card Terminal Plus, Mobile Card Terminal. Android Card Terminals
'Viva.com Terminal' application for Android Mini Card Reader, Pocket Card Terminal connected via Bluetooth or USB to the 'Viva.com Terminal' application for Android. Android Card Terminals
Linux Card Terminals Countertop, IM20, S900, S800, D200. Linux Card Terminals

Get Support

If you would like to integrate with Viva, or if you have any queries about our products and solutions, please see our Contact & Support page to see how we can help!