Set mode request

The client app must implement a mechanism to send messages using Android intents and URI calls and to set the card terminal mode.

Set mode request

Using this action the user can set the operation of the app into three modes:

👉 Attended mode → This is the default operation of the app.
👉 Semi Unattended mode → All the app dialogs and screens are auto dismissable with timeouts. The app returns the results and the focus to the caller 3rd app.
👉 Full Unattended mode → All the app dialogs and screens are auto dismissable with timeouts. The app returns the results to the caller 3rd app which is mandatory not to have UI and be a service.

For a typical set mode request, the client app must provide the following information.

Field Description Example Card terminal support
callback The URI callback that will handle the result. 'mycallbackscheme://result' Viva Wallet POS app for Android
action Action set mode which change the operation of the app. 'setMode' Viva Wallet POS app for Android
mode Set the selected operation.
0 = Attended,
1= Semi unattended
2 = Full unattended.
'mode=0' Viva Wallet POS app for Android
pin Pin (4-6 digits length) parameter is used to lock the severe actions in app Settings - Refund - Capture Card - History transaction.

⚠️The pin is mandatory.
'pin=252856' Viva Wallet POS app for Android

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

Intent payIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                        "vivapayclient://pay/v1"
                                + "&appId=com.example.myapp"
                                + "&action=setMode"
                                + "&mode=1"
                                + "&pin=123456"
                                + "&callback=mycallbackscheme://result"));

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

Set mode response

After executing the Set Mode action the app will return the response to indicate if the app operate in unattended mode successful or not.

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

Uri result = getIntent().getData();

The table below summarizes the contents of an approved response.

Field Description Example Card terminal support
callback The URI callback that will handle the result. 'mycallbackscheme://result' Viva Wallet POS app for Android
status The status of the set mode. 'status=success' Viva Wallet POS app for Android
message A string containing information about the set mode status. The message indicate successful set it or not or the pin is not saved. 'message=Set mode successfully 1'
or
'message=Pin not saved successfully'
Viva Wallet POS app for Android
action Action set mode which change the operation of the app. 'action=setMode' Viva Wallet POS app for Android

A Set Mode response result for the success is :

It is expected that POS activation will fail for various reasons. A POS activation 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 Wallet POS app for Android Mini Card Reader, Pocket Card Terminal connected via Bluetooth or USB to the Viva Wallet POS app 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 Wallet, or if you have any queries about our products and solutions, please see our Get Support page to see how we can help!