Transaction Details response originating from the Card terminal app to return the result of a Transaction Details request.
Transaction Details request
For a typical Transaction Details request, the client app must provide the following information:
Field
Description
Example
Card Termimal Support
scheme
The Viva's custom URL scheme, the host and the version.
'vivapayclient://pay/v1'
merchantKey
The merchant's key. For successful validation, should not be empty.
Deprecated: you may pass any value
'SG23323424EXS3'
action
TransactionDetails. For successful validation, should not be empty.
'transactionDetails'
clientTransactionId
A unique transaction ID transmitted to the host for storage with the transaction. Note that this value will be provided in the Recent Transaction Request. Is only available if it was set in the original Sales Request.
'12345678901234567890123456789012'
sourceTerminalId
Source Terminal Id of terminal where payment was made
‘16031147’
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.
After executing a transactionDetails request the card terminal app responds with a transactionDetails response.
The result is received as a URI in the callback activity intent:
Uriresult=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'
status
The status of the reprint action
'success'
message
A string containing information about the reprint status.
'Printing successful'
action
TransactionDetails
'transactionDetails'
clientTransactionId
The client transaction ID.
'12345678901234567890123456789012'
amount
The amount in cents without any decimal digits. If action is cancel and amount is not empty must be integer and bigger than zero.
(Used in successful and declined receipts)
'1200' = 12 euro
tipAmount
How much of the amount in cents is considered as tip without any decimal digits.
(Used in successful and declined receipts)
'200' = 2 euro
verificationMethod
The verification method used.
'CHIP-PIN'
rrn
The retrieval reference number of the transaction RRN.
(Used in successful and declined receipts)
'123456833121'
cardType
The card type.
'VISA'
accountNumber
The card number masked. Note that only the 6 first and the 4 last digits are provided. All other digits are masked with stars.
(Used in successful and declined receipts)
'479275\*\*\*\*\*\*9999'
referenceNumber
A 6-digit number indicating the transaction's STAN number.
'833121'
authorisationCode
A 6-digit number indicating the transaction's Authorisation code provided by the host.
'690882'
tid
A 12 character string indicating the terminal's TID number.
' 16016684'
orderCode
The order code.
' 9256110059000200'
shortOrderCode
10-digit integer.
'1234567890'
installments
Number of installments.
' 10'
transactionDate
The transaction date in ISO 8601 format.
(Used in successful and declined receipts)
'2019-09-13T12:14:19.8703452+03:00'
transactionId
A unique identifier for the transaction.
'a78e045c-49c3-4743-9071-f1e0ed71810c'
vatNumber
The VAT number of merchant.
(if print VAT is enabled in the Viva POS app settings)
(Used in successful and declined receipts)
'123412341'
address
The address of merchant
(if print address is enabled in the Viva POS app settings)
(Used in successful receipts)
‘Main St 123, 12312 Anytown’
businessDescription
Merchant’s Business/Trade/Store name (depending on what option is selected in the Viva POS app settings),
(Used in successful receipts)
'Wonka Industries'
cardholderNameExpirationDateFlags
Each char may be 0 (false) or 1 (true) and indicates if the cardholder name and the expiration date should be printed on the merchant/cardholder receipts)
1st char: if 1 then the Cardholder Name should be printed in the merchant's receipt. If 0, then it should not.
2nd char: if 1 then the Cardholder Name should be printed in the cardholder's receipt. If 0, then it should not.
3rd char: if 1 then the Expiration Date should be printed in the merchant's receipt. If 0, then it should not.
4rd char: if 1 then the Expiration Date should be printed in the cardholder's receipt. If 0, then it should not.
(Used in successful receipts)
'1010'
needsSignature
A boolean indicating if the receipt needs a signature section.
(Used in successful receipts)
false
addQRCode
A boolean indicating if the order code should be printed as a QR.
(Used in successful receipts)
false
terminalSerialNumber
The serial number of the terminal.
(Used in successful receipts)
“1234567891“
currency
The currency of the transaction.
(Used in successful receipts)
“EUR“
applicationVersion
The version off the application.
(Used in declined receipts)
'v3.7.0(1956)'
entryMode
The POS entry mode.
(Used in successful receipts)
'07'
transactionType
The string of the action of the transaction in question (e.g. 'sale')
'SALE'
A transactionDetails response result for an approved request looks as follows: