Set Printing Settings request

An overview of the Set Printing Settings request message for Android.

Overview

👉 The Set Printing Settings request is used to configure and apply changes to the printing-related settings of the ‘viva.com | Terminal’ application.

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.

Set Printing Settings request

For a typical Set Printing Settings request, the client app must provide the following information:

Field Description Example Required Card terminal support Max Length Type
scheme The Viva's custom URL scheme, the host and the version. 'vivapayclient://pay/v1' ✅ Android Card Terminals'viva.com | Terminal' application for Android
merchantKey The merchant's key. For successful validation, should not be empty.
Deprecated: you may pass any value.
'SG23323424EXS3' Android Card Terminals'viva.com | Terminal' application for Android
appId The client app ID. For successful validation, should not be empty. 'com.example.myapp' ✅ Android Card Terminals'viva.com | Terminal' application for Android
action Set printing settings. For successful validation, should not be empty. 'set_printing_settings' ✅ Android Card Terminals'viva.com | Terminal' application for Android
businessDescriptionEnabled A flag indicating whether the business description identifier will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
businessDescriptionType The business description identifier that will be printed on the receipt if it is enabled. For successful validation, should be one of the following values: 'businessName', 'tradeName', 'storeName'

⚠️This field is mandatory.
'businessName' ✅ Android Card Terminals'viva.com | Terminal' application for Android
printLogoOnMerchantReceipt A flag indicating whether the logo will be printed on the receipt of the merchant 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
printVATOnMerchantReceipt A flag indicating whether the vat number will be printed on the receipt of the merchant 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
isBarcodeEnabled A flag indicating whether the barcode will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
printAddressOnReceipt A flag indicating whether the address will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
isMerchantReceiptEnabled A flag indicating whether the receipt of the merchant will be printed 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
isCustomerReceiptEnabled A flag indicating whether the receipt of the customer will be printed 'true' Android Card Terminals'viva.com | Terminal' application for Android boolean
callback The URI callback that will handle the result. For successful validation, should not be empty. 'mycallbackscheme://result' ✅ Android Card Terminals'viva.com | Terminal' application for Android

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

String reqStr = "vivapayclient://pay/v1"
		+ "?merchantKey="MY_MERCHANT_KEY"
		+ "&appId=com.example.myapp"
		+ "&action=set_printing_settings"
		+ "&callback=mycallbackscheme://result"
		+ "&businessDescriptionEnabled=true"
		+ "&businessDescriptionType=businessName"
		+ "&printLogoOnMerchantReceipt=true"
		+ "&printVATOnMerchantReceipt=true"
		+ "&isBarcodeEnabled=true"
		+ "&printAddressOnReceipt=true"
		+ "&isMerchantReceiptEnabled=true"
		+ "&isCustomerReceiptEnabled=true";

Intent payIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( reqStr));
payIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
payIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
startActivity(payIntent);

Set Printing Settings response

After executing an abort transaction, the ‘viva.com | Terminal’ application responds with an abort response result to indicate if the abort request has been successful or not. The response from the abort action is actually the response of a failed transaction.

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

Uri result = getIntent().getData();

The table below summarises the contents of an approved response.

Field Description Example Card terminal support
callback The URI callback that will handle the result. 'mycallbackscheme://result' Android Card Terminals'viva.com | Terminal' application for Android
status The status of the transaction 'success' Android Card Terminals'viva.com | Terminal' application for Android
message A string containing information about the transaction status. 'Transaction successful' Android Card Terminals'viva.com | Terminal' application for Android
action Set printing settings. For successful validation, should not be empty. 'set_printing_settings' Android Card Terminals'viva.com | Terminal' application for Android
businessDescriptionEnabled A flag indicating whether the business description identifier will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android
businessDescriptionType The business description identifier that will be printed on the receipt if it is enabled. For successful validation, should be one of the following values: 'businessName', 'tradeName', 'storeName' 'businessName' Android Card Terminals'viva.com | Terminal' application for Android
printLogoOnMerchantReceipt A flag indicating whether the logo will be printed on the receipt of the merchant 'true' Android Card Terminals'viva.com | Terminal' application for Android
printVATOnMerchantReceipt A flag indicating whether the vat number will be printed on the receipt of the merchant 'true' Android Card Terminals'viva.com | Terminal' application for Android
isBarcodeEnabled A flag indicating whether the barcode will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android
printAddressOnReceipt A flag indicating whether the address will be printed on the receipt 'true' Android Card Terminals'viva.com | Terminal' application for Android
isMerchantReceiptEnabled A flag indicating whether the receipt of the merchant will be printed 'true' Android Card Terminals'viva.com | Terminal' application for Android
isCustomerReceiptEnabled A flag indicating whether the receipt of the customer will be printed 'true' Android Card Terminals'viva.com | Terminal' application for Android

A cancel response result for an approved refund 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 Wallet, or if you have any queries about our products and solutions, please see our Contact & Support page to see how we can help!