Amadis

Events

Introduction

Each different request or notification type received by the Retail Module is represented by a unique class, with associated data extracted from the received Nexo message. A distinction is made between Events, which do not have an associated response, and Requests, which require a response.

TOC

Login

A LoginRequest was accepted by the Retail Module

No response

Logout

A LogoutRequest was accepted by the Retail Module

No response

Disconnection

A Disconnection was detected by the Retail Module

The absence of this event is not a guarantee that a connection is still active with the Sale System. The presence of this event is a guarantee that the connection is or was broken.

No response

PaymentRequest

A PaymentRequest was received from the Sale System while the system was available

This Event type requires a response, even if the operation was unsuccessful

Content

A TLV stream containing the Request elements in Arkos-specific format, including (but possibly not exclusively):

BER Tag

Count

Field Name

Format

Nexo Retail Source (under PaymentRequest)

Miscellaneous Information

BER Tag

Count

Field Name

Format

Nexo Retail Source (under PaymentRequest)

Miscellaneous Information

0xCE

[1-1]

SelectedService

Byte (enum)

PaymentTransaction.PaymentType

Mandatory - Defaults to Normal(7)

0xDFCF06

[1-1]

SaleTransactionIdentification

Text

SaleData.SaleTransactionID.TransactionID

Mandatory

0xDFCF01

[0-1]

SaleReferenceIdentification

Text

SaleData.SaleReferenceID

If present

0xDF47

[1-1]

CurrencyCodeA3

ANS3

PaymentTransaction.AmountsReq.Currency

Mandatory

0xD5

[0-1]

TransactionAmount

BCD12

PaymentTransaction.AmountsReq.RequestedAmount

If present

0x9F02

[0-1]

AmountAuthorised

BCD12

Same as TransactionAmount

If present

0xDFFF47

[0-1]

TransactionAmountBeforeAdjustment

BCD12

Same as TransactionAmount

If present

0xD6

[0-1]

CashbackAmount

BCD12

PaymentTransaction.AmountsReq.CashBackAmount

If present

0xCF

[0-1]

SupplementaryAmount

BCD12

PaymentTransaction.AmountsReq.TipAmount

If present

0xFFCF0A

[0-1]

RetailSaleData

DO

 

If not empty

0xFF01

[0-1]

|-SaleItems

DO

 

If present

0xFF01

[0-n]

|-ItemOccurrence

DO

PaymentTransaction.SaleItem

Multiple

0xC0

[1-1]

|-ItemID

Text

PaymentTransaction.SaleItem.ItemID

Mandatory

0xC1

[1-1]

|-ProductCode

Text

PaymentTransaction.SaleItem.ProductCode

Mandatory

0xC6

[1-1]

|-ItemAmount

DecimalText

PaymentTransaction.SaleItem.ItemAmount

Mandatory

0xC5

[0-1]

|-UnitPrice

DecimalText

PaymentTransaction.SaleItem.UnitPrice

If present

0xDF37

[0-1]

ReferenceData

Text

PaymentTransaction
.OriginalPaymentTransaction
.POITransactionID
.TransactionID

If present

Response

A TLV tree containing the following elements, in raw form:

Field

Type

Usage

Field

Type

Usage

PaymentData
(0xFF01)

DO

The TLV payment response from the Arkos Framework

MerchantData
(0xFF02)

DO

Context-specific Merchant Data (TBD)

Abort

An abort request was received from the sale system

The application has the responsibility to try to abort the current transaction (if one is running), if possible. There is no direct response to this event - the eventual PaymentResponse will contain wether it was Aborted.

In general, it is suggested to manage aborts through the PollingProvider, providing aborts up to card detection.

If this request is received outside of a valid service exchange, or received too late, the Application should signal that the message was completed, using NexoRetailModule.signal(NexoSignal.MessageCompleted); which will send to corresponding notification back to the Sale System.

DisplayRequest

A DisplayRequest was received while the System was available

This is the base display class, and should be cast to one of the derived classes (DisplayRefRequest or DisplayTextRequest)

Content

The following fields and methods:

Field

Type

Usage

Field

Type

Usage

displayType

DisplayType (enum)

Signals wether this object is a Reference or Text display request

No response

InputRequest

TBD

AdminRequest

TBD

ErrorReport

The Nexo Module detects an error. This includes internal errors, data errors and protocol errors.

Content

An UTF-8 String (in binary form) with the error description, which can be logged by the Merchant application or discarded. Retrieve through thebyte[] GetData() method.

// To convert to a Java String String errorMessage = new String(event.GetData());

No response