Unreferenced Refund
An overview of the Unreferenced Refund request message for Android.
- Overview
- Unreferenced Refund request
- Unreferenced Refund response
- Key to card terminal product categories
- Get Support
Overview
👉 The Unreferenced Refund request allows you to process a refund without a need of prior transaction or an existing order.
The Unreferenced Refund feature is not enabled by default. To activate it, please reach out to your sales representative or contact our support team.
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.
- Unreferenced Refund request originating from the client app to initiate a request for an Unreferenced Refund transaction.
- Unreferenced Refund response originating from the ‘Viva.com Terminal’ application to return the result of an Unreferenced Refund transaction.
The Unreferenced Refund functionality is currently not available in standalone mode.
Unreferenced Refund request
For a typical Unreferenced Refund request, the client app must provide the following information:
[*] These parameters are only applicable in Greece
The above information elements must create a URI call, i.e.
Intent payIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( "vivapayclient://pay/v1"
+ "?merchantKey="MY_MERCHANT_KEY"
+ "&appId=com.example.myapp"
+ "&action=unreferenced_refund"
+ "&callback=mycallbackscheme://result"
+ "&amount=100"
+ "&show_receipt="+true
+ "&show_transaction_result="+true));
payIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
payIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
// Those two flags should be added for paydroid implementations
// payIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
// payIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(payIntent);
Unreferenced Refund response
After executing an Unreferenced Refund transaction, the ‘Viva.com Terminal’ application responds with an Unreferenced Refund response result to indicate if the refund has been approved or not.
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.
An Unreferenced Refund response result for an approved refund transaction looks as follows:
mycallbackscheme://result?accountNumber=476173******0043&action=unreferenced_refund&aid=A0000000031010&amount=-57&authorisationCode=88147&cardType=VISA CREDIT&clientTransactionId=&message=Transaction successful&orderCode=4285118455035794&referenceNumber=88147&rrn=428509088147&shortOrderCode=4285118455&status=success&tid=16035794&transactionDate=2024-10-11T12:16:03.3957993+03:00&transactionId=da3f7c7e-5e59-40f4-92e3-ab3deb479d20&verificationMethod=CONTACTLESS - NO CVM
It is expected that certain transactions will fail for various reasons. An Unreferenced Refund response result for a failed refund transaction looks as follows:
mycallbackscheme://result?action=unreferenced_refund&amount=57&clientTransactionId=&message=(-4) USER_CANCEL&status=fail&tid=16035794&verificationMethod=
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!