AADE FIM Control
An overview of the AADE FIM Control message for Android.
- Overview
- AADE FIM Control request
- AADE FIM Control response
- Key to card terminal product categories
- Get Support
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.
- 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.
- AADE FIM Control request originating from the client app to synchronise the FIMAS Master Key.
- AADE FIM Control response originating from the ‘Viva.com Terminal’ application to return the result.
This action internally performs two operations required by AADE regulations:
- ECHO (generating master key)
- CONTROL (validating the session key)
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. | ![]() |
| '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. | |
| Linux Card Terminals | Countertop, IM20, S900, S800, D200. | ![]() |
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!

