Skip to main content

Type of Payment: ftPayItemCase

This table expands on the values provided in the Type of Payment: ftPayItemCase reference table of the Compliance Middleware with values applicable to the Greek market.

Format​

CCCC_vlll_gggg_xxPP

v - version​

version 2

xx - reserved​

Reserved for future use. Not currently assigned for Greece (or any market).

lll - local tagging/flag​

ValueDescriptionMiddleware version
001Payment for an already transmitted invoice
Used with the Pay receipt case (3005) and cbPreviousReceiptReference to report a payment through the myDATA SendPaymentsMethod call, for example 0x4752_2001_0000_0004 for a card payment. See Type of Receipt: ftReceiptCase.
1.3.83

Table 1. Local tagging/flag values (lll) for Greece.

PP - payment type​

ValueDescriptionMiddleware version
00Unknown payment type for GR
This is handled like a cash payment in national currency.
1.3.45
01Cash1.3.45
02NonCash1.3.45
03Cheque1.3.45
04POS/e-POS1.3.45
05POS/e-POS1.3.45
06Cheque1.3.45
07Online payment1.3.45
08Loyalty program / Customer card payment1.3.45
09On Credit1.3.45
0ADefault maps to Domestic payments.
Description == "IRIS" maps to IRIS.
Description == "RF code payment (Web banking)" maps to Web banking.
1.3.45
0BMaps to International Business Payment Account1.3.45
0CTransfer to Cashbook / Vault / Owner / Employee
Positive (+) amount contributes to cashbox/vault. This higher the amount in cashbox/vault.
Negative (-) amount lowers the amount in cashbox/vault.
1.3.45
0DInternal / Material consumption1.3.45
0EGrant1.3.45
0FTicket Restaurant / (Sodexo, Edenred, etc.)1.3.45

Table 2. Payment type values (PP) for Greece.

gggg - global tagging/flag​

ValueDescriptionMiddleware version
0001IsVoid
Marks PayItem as Void previous position. Quantity and amount are inverted, related to original item.
IsVoid is used in cases where the exchange of money has not been executed yet.
1.3.45
0002IsReturn/IsRefund
Marks PayItem as Return of good or service. Quantity and amount are inverted, related to original item.
IsReturn/IsRefund is used in cases where the exchange of money has been executed already.
1.3.45
0004(reserved)
1.3.45
0008Downpayment
Marks PayItem as a downpayment.
Positive (+) amount is reduction of downpayment.
Negative (-) amount is creation of downpayment.
1.3.45
0010IsForeignCurrency
Amount is still in EUR, at the moment of acceptance. ftPayItemData requires two data elements with “foreignCurrencySymbol” and “foreignCurrencyAmount” to persist data for daily closing and later bookkeeping transactions
1.3.45
0020IsChange
Usually contains a negative (-) amount.
(IsVoid => can be inverted)
1.3.45
0040IsTip
Must be a negative (-) amount to flow out of payment method.
ShowInChargeItems flag can be used to raise the total amount by the tip amount, to have a more convenient visualization.
1.3.45
0080IsDigital/IsElectronic
Electronic money, digital money
1.3.45
0100IsInterface/AmountVerified
Was verified by interface, automated amount transfer
1.3.45
8000ShowInChargeItems
Visualize the item before Total Amount. This inverts amount and does include the amount into the visualized total amount on the receipt.
1.3.45

Table 3. Global tagging/flag values (gggg) for Greece.

ftPayItemCaseData for terminal payments​

For card payments through an interconnected terminal, the POS hands over the terminal data in ftPayItemCaseData. The Middleware reads the provider signature and the AADE transaction ID from it and transmits them with the document; the provider ID of the licence is transmitted as signing author (see Licensing). Property names are matched case-insensitively. Three payload shapes are supported; which one applies is determined by the content of Provider.ProtocolRequest.

Viva App2App. ProtocolRequest and ProtocolResponse are the request and result URIs as strings. The provider signature is read from the aadeProviderSignature query parameter of ProtocolRequest, the transaction ID from the aadeTransactionId query parameter of ProtocolResponse.

{
"Provider": {
"Protocol": "use_auto",
"ProtocolRequest": "vivapayclient://pay/v1?amount=1000&aadeProviderSignature=<signature>",
"ProtocolResponse": "instoreapp://result?status=success&aadeTransactionId=<transaction-id>"
}
}

Viva cloud REST API. ProtocolRequest is the payment request object and ProtocolResponse the payment session object of the Viva API. The provider signature is read from ProtocolRequest.aadeProviderSignature, the transaction ID from ProtocolResponse.aadeTransactionId.

{
"Provider": {
"Protocol": "",
"ProtocolVersion": "1.0",
"Action": "",
"ProtocolRequest": { "aadeProviderSignatureData": "<signature-data>", "aadeProviderSignature": "<signature>" },
"ProtocolResponse": { "aadeTransactionId": "<transaction-id>" }
}
}

Generic. For any other terminal, the values are passed in an aadeSignatureData object at the root of ftPayItemCaseData.

{
"aadeSignatureData": {
"aadeProviderSignature": "<signature>",
"aadeTransactionId": "<transaction-id>"
}
}