Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Table of Contents

Login

A LoginRequest was accepted by the Retail Module

...

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

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

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.

Info

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

Content

A DisplayData object, obtained using DisplayData GetDisplayData() with the 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

displayID

String

The Display ReferenceID requested by the Sale System (null if unapplicable)

displayType

DisplayType (enum)

Signals wether this object is a Reference or Text display request

No response

InputRequest

TBD

...