Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Technical Documentation

Please see the main ASL documentation

...

Code Block
NexoRetailModule retailModule = NexoRetailModule.StartServer(serverPort, provider);
Info

Starting from version 2.5.1, StartServer has a second parameter, allowing the integrator’s application control over some application-specific information used by the retail module
See ISoftwareInformation

Initialize a Client mode Module

...

Code Block
NexoRetailModule retailModule = NexoRetailModule.StartClient(saleHostname, salePort, provider);

Poll the Module for Sale events

See Events for the supported
Info
Info

Starting from version 2.5.1, StartClienthas a third parameter, allowing the integrator’s application control over some application-specific information used by the retail module

See ISoftwareInformation

Poll the Module for Sale events

Info

See Events for the supported event types and specifications

...

Signal a System state change

See Events

Code Block
languagecpp
retailModule.signal(NexoSignal.CardDetected);

retailModule.signal(NexoSignal.Busy);
retailModule.signal(NexoSignal.Available);

Test Cases

...

Examples

Login

NexoRetail Feature

Payment

Login

XML message Login request

Expand
titlexml message
simple payment
login request

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader ProtocolVersion="3.0" MessageClass="Service" MessageCategory="

Payment

Login" MessageType="Request" ServiceID="

2

1" SaleID="

ArkosSales

AmadisSaleSystem" POIID="

AFDB0001

AmadisTestPOI0001" />

<PaymentRequest>
<SaleData SaleReferenceID

<LoginRequest OperatorLanguage="

ArkosSale42">
<SaleTransactionID TransactionID

en" OperatorID="

1" TimeStamp="2019

fbe">
<DateTime>2019-08-

21T14

21T13:

48

21:

05

23+05:

00"

00</

>
</SaleData>
<PaymentTransaction>
<AmountsReq Currency

DateTime>
<SaleSoftware ManufacturerID="

EUR

Amadis"

RequestedAmount

ApplicationName="

1.00" />
<SaleItem ItemID="Banane" ProductCode="77662389" ItemAmount="3" >
<UnitPrice>0.79</UnitPrice>
</SaleItem>
</PaymentTransaction>
<PaymentData PaymentType="Normal

ArkosSalesInterface" SoftwareVersion="0.2.3" CertificationCode="NotCertified" />
</

PaymentRequest>

LoginRequest>
</SaleToPOIRequest>

Trace

XML message Login response

Expand
titlexml message
2022-03-21 11:20:26,869 TRACE [ntrig] # login
2022-03-21 11:20:26,878 TRACE [ntrig] Sending the content of "login.xml" (501 bytes)
2022-03-21 11:20:26,878 TRACE [ntrig] Waiting for 500 milliseconds
2022-03-21 11:20:26,886 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader MessageClass="Service
login response

<?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader ServiceID="1" POIID="AmadisTestPOI0001" MessageType="Response"

MessageCategory="Login"

ProtocolVersion="3.0"

ServiceID

SaleID="

1

AmadisSaleSystem"

POIID

MessageCategory="

AFDB0001

Login"

SaleID

MessageClass="

ArkosSales

Service" /><LoginResponse><Response Result="Success" /><POISystemData><DateTime>2022-03-

21T11

21T12:

20

40:

27

34.

208

160-04:00</DateTime><POISoftware

ManufacturerID="Manufacturer"

SoftwareVersion="1.0" CertificationCode="NA" ApplicationName="Application"

CertificationCode

ManufacturerID="

NA

Manufacturer" /><POIStatus GlobalStatus="OK" /></POISystemData></LoginResponse></SaleToPOIResponse>


2022-03-21 11:20:27,385 TRACE [ntrig] # prepay
2022-03-21 11:20:27,393 TRACE [ntrig] Sending the content of "payNatixis.xml" (736 bytes)
2022-03-21 11:20:27,393 TRACE [ntrig] # end of script
2022-03-21 11:20:37,962 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIRequest><MessageHeader SaleID="AFDB0001" MessageCategory="Display" MessageType="Request" ServiceID="2" MessageClass="Device" DeviceID="1" POIID="ArkosSales" /><DisplayRequest><DisplayOutput Device="CashierDisplay" ResponseRequiredFlag="False" InfoQualify="POIReplication"><OutputContent OutputFormat="Text"><OutputText>InsertOrPresentCard</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:20:39,054 TRACE [ntrig] Received from the POI:

Simple Payment

NexoRetail Feature

Payment

XML message Payment request

Expand
titlexml message simple payment

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="2" SaleID="AmadisSaleSystem" POIID="AmadisTestPOI0001" />
<PaymentRequest>
<SaleData SaleReferenceID="ArkosSale42">
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" />
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="1.00" />
<SaleItem ItemID="Banane" ProductCode="77662389" ItemAmount="3" >
<UnitPrice>0.79</UnitPrice>
</SaleItem>
</PaymentTransaction>
<PaymentData PaymentType="Normal" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Payment response

Expand
titlexml message simple payment response

<?xml version="1.0" encoding="UTF-8"?

><SaleToPOIRequest><MessageHeader MessageClass="Device" DeviceID="1"

><SaleToPOIResponse>
<MessageHeader MessageType="

Request

Response"

POIID

MessageClass="

ArkosSales" SaleID="AFDB0001

Service" MessageCategory="

Display

Payment" ServiceID="2"

/><DisplayRequest><DisplayOutput ResponseRequiredFlag

POIID="

False

AmadisTestPOI0001"

Device

SaleID="

CashierDisplay" InfoQualify="POIReplication"><OutputContent OutputFormat="Text"><OutputText>PleaseWait</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:20:40,281 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIRequest><MessageHeader POIID="ArkosSales" DeviceID="1" MessageClass="Device" SaleID="AFDB0001" MessageCategory="Display" MessageType="Request" ServiceID="2" /><DisplayRequest><DisplayOutput ResponseRequiredFlag="False" InfoQualify="POIReplication" Device="CashierDisplay"><OutputContent OutputFormat="Text"><OutputText>Approved</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:20:51,797 TRACE [ntrig] Received from the POI:

AmadisSaleSystem"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TimeStamp="2019-08-21T14:48:05+05:00" TransactionID="1"/>
</SaleData>
<POIData>
<POITransactionID TransactionID="0000000017" TimeStamp="2022-03-21T13:15:13.277-04:00"/>
</POIData>
<PaymentResult PaymentType="Normal">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp AuthorizedAmount="1" Currency="EUR"/>
<PaymentAcquirerData MerchantID="00000NEXOMER001" AcquirerPOIID="ASA00007" AcquirerID="Processor A Short Name">
<ApprovalCode>002026</ApprovalCode>
</PaymentAcquirerData>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>3030</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Payment with cashback

NexoRetail Feature

Payment with cashback

XML message Payment request

Expand
titlexml message payment request with cashback

<?xml version="1.0"

encoding

?>
<SaleToPOIRequest>
<MessageHeader MessageClass="

UTF-8"?><SaleToPOIResponse><MessageHeader ServiceID

Service" MessageCategory="

2

Payment" MessageType="

Response

Request"

MessageCategory

ServiceID="

Payment" POIID="AFDB0001"

2" SaleID="

ArkosSales

AmadisSaleSystem"

MessageClass

POIID="

Service

AmadisTestPOI0001" /

><PaymentResponse><Response Result

>
<PaymentRequest>
<SaleData SaleReferenceID="

Failure" ErrorCondition="DeviceOut"><AdditionalResponse>Internal system error: MissingDataField { field: "PaymentData" }</AdditionalResponse></Response><SaleData><SaleTransactionID

ArkosSale42">
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" /

></SaleData><POIData><POITransactionID TimeStamp="2022-03-21T11:20:52.119-04:00" TransactionID="Undefined" /></POIData></PaymentResponse></SaleToPOIResponse>

Test case 0002

NexoRetail Feature

Payment with cashback

XML message

>
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="50.00" CashBackAmount="20.00"/>
<SaleItem ItemID="Banane" ProductCode="77662389" ItemAmount="3" >
<UnitPrice>0.79</UnitPrice>
</SaleItem>
</PaymentTransaction>
<PaymentData PaymentType="Normal" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Payment response

Expand
titlexml message payment response with cashback
2022-03-21 11:48:16,923 TRACE [ntrig] # login
2022-03-21 11:48:16,924 TRACE [ntrig] Sending the content of "login.xml" (501 bytes)
2022-03-21 11:48:16,925 TRACE [ntrig] Waiting for 500 milliseconds
2022-03-21 11:48:16,928 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader MessageClass="Service" ProtocolVersion="3.0" MessageCategory="Login" MessageType="Response" POIID="AFDB0001" SaleID="ArkosSales" ServiceID="1" /><LoginResponse><Response Result="Success" /><POISystemData><DateTime>2022-03-21T11:48:17.244-04:00</DateTime><POISoftware ManufacturerID="Manufacturer" ApplicationName="Application" SoftwareVersion="1.0" CertificationCode="NA" /><POIStatus GlobalStatus="OK" /></POISystemData></LoginResponse></SaleToPOIResponse>
2022-03-21 11:48:17,430 TRACE [ntrig] # prepay
2022-03-21 11:48:17,431 TRACE [ntrig] Sending the content of "payNatixis.xml" (761 bytes)
2022-03-21 11:48:17,432 TRACE [ntrig] # end of script
2022-03-21 11:48:19,721 TRACE [ntrig] Received from the POI:

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader POIID="AmadisTestPOI0001" MessageCategory="Payment" SaleID="AmadisSaleSystem" ServiceID="2" MessageType="Response" MessageClass="Service"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00"/>
</SaleData>
<POIData>
<POITransactionID TransactionID="0000000018" TimeStamp="2022-03-21T13:22:43.151-04:00"/>
</POIData>
<PaymentResult PaymentType="Normal">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp Currency="EUR" CashBackAmount="20" AuthorizedAmount="50"/>
<PaymentAcquirerData AcquirerPOIID="ASA00007" AcquirerID="Processor A Short Name" MerchantID="00000NEXOMER001">
<ApprovalCode>002027</ApprovalCode>
</PaymentAcquirerData>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>3030</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Payment with tip

NexoRetail Feature

Payment with tip

XML message Payment request

Expand
titlexml message payment request with tip

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="2" SaleID="AmadisSaleSystem" POIID="AmadisTestPOI0001" />
<PaymentRequest>
<SaleData SaleReferenceID="ArkosSale42">
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" />
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="50.00" TipAmount="20.00"/>
<SaleItem ItemID="Banane" ProductCode="77662389" ItemAmount="3" >
<UnitPrice>0.79</UnitPrice>
</SaleItem>
</PaymentTransaction>
<PaymentData PaymentType="Normal" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Payment response

Expand
titlexml message payment response with tip

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader MessageCategory="Payment" POIID="AmadisTestPOI0001" SaleID="AmadisSaleSystem" MessageClass="Service" MessageType="Response" ServiceID="2"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TimeStamp="2019-08-21T14:48:05+05:00" TransactionID="1"/>
</SaleData>
<POIData>
<POITransactionID TransactionID="0000000019" TimeStamp="2022-03-21T13:34:04.354-04:00"/>
</POIData>
<PaymentResult PaymentType="Normal">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp AuthorizedAmount="50" TipAmount="20" Currency="EUR"/>
<PaymentAcquirerData AcquirerPOIID="ASA00007" AcquirerID="Processor A Short Name" MerchantID="00000NEXOMER001">
<ApprovalCode>002028</ApprovalCode>
</PaymentAcquirerData>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>3030</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Payment with cashback and tip

NexoRetail Feature

Payment with cashback and tip

XML message Payment request

Expand
titlexml message payment request with cashback and tip

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="2" SaleID="AmadisSaleSystem" POIID="AmadisTestPOI0001" />
<PaymentRequest>
<SaleData SaleReferenceID="ArkosSale42">
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" />
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="50.00" TipAmount="20.00" CashBackAmount="10.00"/>
<SaleItem ItemID="Banane" ProductCode="77662389" ItemAmount="3" >
<UnitPrice>0.79</UnitPrice>
</SaleItem>
</PaymentTransaction>
<PaymentData PaymentType="Normal" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Payment response

Expand
titlexml message payment response with cashback and tip

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader MessageClass="Service" MessageType="Response" POIID="AmadisTestPOI0001" MessageCategory="Payment" ServiceID="2" SaleID="AmadisSaleSystem"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TimeStamp="2019-08-21T14:48:05+05:00" TransactionID="1"/>
</SaleData>
<POIData>
<POITransactionID TimeStamp="2022-03-21T13:52:16.900-04:00" TransactionID="0000000021"/>
</POIData>
<PaymentResult PaymentType="Normal">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp Currency="EUR" TipAmount="20" AuthorizedAmount="50" CashBackAmount="10"/>
<PaymentAcquirerData AcquirerPOIID="ASA00007" AcquirerID="Processor A Short Name" MerchantID="00000NEXOMER001">
<ApprovalCode>002030</ApprovalCode>
</PaymentAcquirerData>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>3030</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Refund

NexoRetail Feature

Refund

XML message Refund request

Expand
titlexml message simple refund request

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="2" SaleID="AmadisSaleSystem" POIID="AmadisTestPOI0001" />
<PaymentRequest>
<SaleData SaleReferenceID="ArkosSale42">
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" />
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="1.00" />
</PaymentTransaction>
<PaymentData PaymentType="Refund" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Refund response

Expand
titlexml message simple refund response

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader POIID="AmadisTestPOI0001" SaleID="AmadisSaleSystem" MessageCategory="Payment" MessageType="Response" ServiceID="2" MessageClass="Service"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00"/>
</SaleData>
<POIData>
<POITransactionID TransactionID="0000000023" TimeStamp="2022-03-21T21:22:14.404-04:00"/>
</POIData>
<PaymentResult PaymentType="Refund">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp Currency="EUR" AuthorizedAmount="1"/>
<PaymentAcquirerData MerchantID="00000NEXOMER001" AcquirerPOIID="ASA00007"/>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>5931</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Refund with Original Transaction

As the original transaction is optional for a refund, when present, it can be accessed by

PaymentRequest paymentReq = (PaymentRequest) req;

paymentReq.OriginalTransactionID.TransactionID;

NexoRetail Feature

Refund with Original Transaction

XML message Refund request

Expand
titlexml message refund with original request

<?xml version="1.0"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="2" SaleID="AmadisSaleSystem" POIID="AmadisTestPOI0001" />
<PaymentRequest>
<SaleData SaleReferenceID="ArkosSale42">
<SaleTransactionID TransactionID="24" TimeStamp="2019-08-21T14:48:05+05:00" />
</SaleData>
<PaymentTransaction>
<AmountsReq Currency="EUR" RequestedAmount="1.00" />
<OriginalPOITransaction>
<POITransactionID TransactionID="00000032" TimeStamp="2022-03-22T11:26:10.000+00:00" />
</OriginalPOITransaction>
</PaymentTransaction>
<PaymentData PaymentType="Refund" />
</PaymentRequest>
</SaleToPOIRequest>

XML message Refund response

Expand
titlexml message refund with original response

<?xml version="1.0" encoding="UTF-8"?

><SaleToPOIRequest><MessageHeader ServiceID="2" POIID="ArkosSales" SaleID="AFDB0001" MessageCategory="Display" MessageType="Request" MessageClass="Device" DeviceID="1" /><DisplayRequest><DisplayOutput InfoQualify="POIReplication" Device="CashierDisplay" ResponseRequiredFlag="False"><OutputContent OutputFormat="Text"><OutputText>InsertOrPresentCard</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:48:20,763 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIRequest><MessageHeader MessageType="Request" MessageClass="Device" DeviceID="1" POIID="ArkosSales" SaleID="AFDB0001" MessageCategory="Display" ServiceID="2" /><DisplayRequest><DisplayOutput InfoQualify="POIReplication" ResponseRequiredFlag="False" Device="CashierDisplay"><OutputContent OutputFormat="Text"><OutputText>PleaseWait</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:48:21,535 TRACE [ntrig] Received from the POI:

>
<SaleToPOIResponse>
<MessageHeader MessageCategory="Payment" POIID="AmadisTestPOI0001" SaleID="AmadisSaleSystem" MessageClass="Service" MessageType="Response" ServiceID="2"/>
<PaymentResponse>
<Response Result="Success"/>
<SaleData>
<SaleTransactionID TransactionID="24" TimeStamp="2019-08-21T14:48:05+05:00"/>
</SaleData>
<POIData>
<POITransactionID TransactionID="0000000006" TimeStamp="2022-03-23T09:20:35.280-04:00"/>
</POIData>
<PaymentResult PaymentType="Refund">
<PaymentInstrumentData>
<PaymentInstrumentType>Card</PaymentInstrumentType>
<CardData>
<PaymentBrand>Carte a Piste</PaymentBrand>
<MaskedPAN>5219********0517</MaskedPAN>
<EntryMode>MagStripe</EntryMode>
</CardData>
</PaymentInstrumentData>
<AmountsResp Currency="EUR" AuthorizedAmount="1"/>
<PaymentAcquirerData AcquirerPOIID="ASA00001" MerchantID="00000NEXOMER001"/>
<AmadisTicketData>
<TVR>0000000000</TVR>
<TSI>0000</TSI>
<ApplicationPreferredName>Carte a Piste</ApplicationPreferredName>
<CVM>3F0000</CVM>
<ARC>5931</ARC>
</AmadisTicketData>
</PaymentResult>
</PaymentResponse>
</SaleToPOIResponse>

Cancellation searching from the log

Note: A previous transaction (Payment) was previously done with TransactionID="0000000003” and then canceled.

NexoRetail Feature

Cancellation search from log

XML message Cancellation request

Expand
titlexml message cancellation request

<?xml version="1.0" encoding="UTF-8"?

><SaleToPOIRequest><MessageHeader POIID

>
<SaleToPOIRequest>
<MessageHeader MessageClass="

ArkosSales

Service"

SaleID

MessageCategory="

AFDB0001

Reversal"

ServiceID

MessageType="

2

Request"

DeviceID

ServiceID="

1

15"

MessageCategory

SaleID="

Display

SaleTermB"

MessageType

POIID="

Request" MessageClass="Device" /><DisplayRequest><DisplayOutput ResponseRequiredFlag="False" Device="CashierDisplay" InfoQualify="POIReplication"><OutputContent OutputFormat="Text"><OutputText>Approved</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:48:25,136 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader ServiceID="2" MessageCategory="Payment" MessageType="Response" SaleID="ArkosSales" POIID="AFDB0001

POIServer" />
<ReversalRequest ReversalReason="CustCancel">
<OriginalPOITransaction SaleID="SaleTermA" POIID="POITerm1">
<POITransactionID TransactionID="0000000003" TimeStamp="2009-08-09T20:33:52.0+01:00" />
</OriginalPOITransaction>
</ReversalRequest>
</SaleToPOIRequest>

XML message Cancellation response

Expand
titlexml message cancellation response

<SaleToPOIResponse>
<MessageHeader SaleID="SaleTermB" MessageType="Response" MessageClass="Service"

/><PaymentResponse><Response Result="Failure" ErrorCondition="DeviceOut"><AdditionalResponse>Internal system error: MissingDataField { field: "PaymentData" }</AdditionalResponse></Response><SaleData><SaleTransactionID TransactionID="1" TimeStamp="2019-08-21T14:48:05+05:00" /></SaleData><POIData><POITransactionID TransactionID="Undefined" TimeStamp="2022-03-21T11:48:25.453-04:00" /></POIData></PaymentResponse></SaleToPOIResponse>

Trace

Expand
titlexml message
2022-03-21 11:53:19,234 TRACE [ntrig] # login
2022-03-21 11:53:19,244 TRACE [ntrig] Sending the content of "login.xml" (501 bytes)
2022-03-21 11:53:19,245 TRACE [ntrig] Waiting for 500 milliseconds
2022-03-21 11:53:19,247 TRACE [ntrig] Received from the POI:

ServiceID="15" POIID="POIServer" MessageCategory="Reversal"/>
<ReversalResponse>
<Response Result="Success"/>
<POIData>
<POITransactionID TimeStamp="2022-03-23T11:20:26.015-04:00" TransactionID="0000000006"/>
</POIData>
</ReversalResponse>
</SaleToPOIResponse>

Cancellation without searching from the log

NexoRetail Feature

Cancellation without search from log

XML message Cancellation request

Expand
titlexml message cancellation request

<?xml version="1.0" encoding="UTF

-8"?><SaleToPOIResponse><MessageHeader MessageClass="Service" MessageType="Response" ProtocolVersion="3.0" MessageCategory="Login" POIID="AFDB0001" ServiceID="1" SaleID="ArkosSales" /><LoginResponse><Response Result="Success" /><POISystemData><DateTime>2022-03-21T11:53:19.562-04:00</DateTime><POISoftware CertificationCode="NA" ApplicationName="Application" SoftwareVersion="1.0" ManufacturerID="Manufacturer" /><POIStatus GlobalStatus="OK" /></POISystemData></LoginResponse></SaleToPOIResponse>
2022-03-21 11:53:19,750 TRACE [ntrig] # prepay
2022-03-21 11:53:19,757 TRACE [ntrig] Sending the content of "payNatixis.xml" (761 bytes)
2022-03-21 11:53:19,757 TRACE [ntrig] # end of script
2022-03-21 11:53:22,065 TRACE [ntrig] Received from the POI:

-8"?>
<SaleToPOIRequest>
<MessageHeader MessageClass="Service" MessageCategory="Reversal" MessageType="Request" ServiceID="15" SaleID="SaleTermB" POIID="POIServer" />
<ReversalRequest ReversalReason="CustCancel">
<OriginalPOITransaction SaleID="SaleTermA" POIID="POITerm1">
<POITransactionID TransactionID="0000000007" TimeStamp="2009-08-09T20:33:52.0+01:00" />
</OriginalPOITransaction>
</ReversalRequest>
</SaleToPOIRequest>

XML message Cancellation response

Expand
titlexml message cancellation response

<?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader ServiceID="15" SaleID="SaleTermB" MessageCategory="Payment" POIID="POIServer" MessageType="Response" MessageClass="Service" /><ReversalResponse><Response Result="Success" /><POIData><POITransactionID TransactionID="0000000003" TimeStamp="2022-03-24T10:49:28.711-04:00" /></POIData></ReversalResponse></SaleToPOIResponse>

Input Message

NexoRetail Feature

Input Message Example

XML message Input request

Expand
titlexml message input request

<?xml version="1.0" encoding="

UTF

utf-8"?

><SaleToPOIRequest><MessageHeader MessageCategory="Display" DeviceID="1" MessageClass="Device" MessageType="Request" POIID="ArkosSales" SaleID="AFDB0001" ServiceID="2" /><DisplayRequest><DisplayOutput Device="CashierDisplay" InfoQualify="POIReplication" ResponseRequiredFlag="False"><OutputContent OutputFormat="Text"><OutputText>InsertOrPresentCard</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:53:23,108 TRACE [ntrig] Received from the POI:

>
<SaleToPOIRequest>
<MessageHeader MessageClass="Device" MessageCategory="Input" MessageType="Request" ServiceID="00311B5457" SaleID="3" POIID="ASA00002" />
<InputRequest>
<DisplayOutput Device="CustomerDisplay" InfoQualify="Display">
<OutputContent OutputFormat="Text">
<OutputText>Do you want</OutputText>
<OutputText>a Receipt</OutputText>
</OutputContent>
<MenuEntry OutputFormat="Text">
<OutputText>YES</OutputText>
</MenuEntry>
<MenuEntry OutputFormat="Text">
<OutputText>NO</OutputText>
</MenuEntry>
</DisplayOutput>
<InputData Device="CustomerInput" InfoQualify="Input" InputCommand="GetMenuEntry" MaxInputTime="20"/>
</InputRequest>
</SaleToPOIRequest>

XML message Input response

Expand
titlexml message input response

<?xml version="1.0" encoding="UTF-8"?

><SaleToPOIRequest><MessageHeader SaleID

>
<SaleToPOIResponse>
<MessageHeader ServiceID="

AFDB0001

00311B5457"

MessageCategory

SaleID="

Display

3"

ServiceID

MessageCategory="

2

Payment" POIID="

ArkosSales

ASA00002"

DeviceID

MessageClass="

1

Service" MessageType="

Request" MessageClass="Device" /><DisplayRequest><DisplayOutput ResponseRequiredFlag="False

Response"/>
<InputResponse>
<OutputResult Infoqualify="Display" Device="CustomerDisplay">
<Response Result="Success"/>
</OutputResult>
<InputResult Device="CustomerInput" InfoQualify="

POIReplication" Device

Input">
<Response Result="

CashierDisplay"><OutputContent OutputFormat

Success"/>
<Input InputCommand="

Text

GetMenuEntry"

><OutputText>PleaseWait</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:53:23,847 TRACE [ntrig] Received from the POI:

>
<MenuEntryNumber>0</MenuEntryNumber>
</Input>
</InputResult>
</InputResponse>
</SaleToPOIResponse>

Display Message

NexoRetail Feature

Display Message Example

XML message Display request

Expand
titlexml message display request

<?xml version="1.0" encoding="

UTF

utf-8"?

><SaleToPOIRequest><MessageHeader SaleID

>
<SaleToPOIRequest>
<MessageHeader MessageClass="

AFDB0001" MessageType="Request

Device" MessageCategory="Display

" DeviceID="1" POIID="ArkosSales" MessageClass="Device" ServiceID="2" /><DisplayRequest><DisplayOutput Device="CashierDisplay" InfoQualify="POIReplication" ResponseRequiredFlag="False"><OutputContent OutputFormat="Text"><OutputText>Approved</OutputText></OutputContent></DisplayOutput></DisplayRequest></SaleToPOIRequest>
2022-03-21 11:53:28,740 TRACE [ntrig] Received from the POI: <?xml version="1.0" encoding="UTF-8"?><SaleToPOIResponse><MessageHeader MessageCategory="Payment" MessageClass="Service" MessageType="Response" POIID="AFDB0001" SaleID="ArkosSales" ServiceID="2" /><PaymentResponse><Response Result="Failure" ErrorCondition="DeviceOut"><AdditionalResponse>Internal system error: MissingDataField { field: "PaymentData" }</AdditionalResponse></Response><SaleData><SaleTransactionID TimeStamp="2019-08-21T14:48:05+05:00" TransactionID="1" /></SaleData><POIData><POITransactionID TransactionID="Undefined" TimeStamp="2022-03-21T11:53:29.055-04:00" /></POIData></PaymentResponse><

" MessageType="Request" DeviceID="00311B5457" SaleID="3" POIID="AmadisTestPOI0001" />
<DisplayRequest>
<DisplayOutput Device="CustomerDisplay" InfoQualify="Display">
<OutputContent OutputFormat="MessageRef">
<PredefinedContent ReferenceID="ThankYouForYourPurchase"/>
</OutputContent>
</DisplayOutput>
</DisplayRequest>
</SaleToPOIRequest>

XML message Display response

Expand
titlexml message display response

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIResponse>
<MessageHeader MessageType="Response" DeviceID="00311B5457" MessageCategory="Payment" MessageClass="Service" POIID="AmadisTestPOI0001" SaleID="3"/>
<DisplayResponse>
<OutputResult Infoqualify="Display" Device="CustomerDisplay">
<Response Result="Success"/>
</OutputResult>
</DisplayResponse>
</SaleToPOIResponse>