Session management

Session management

To exchange messages, ECR and Payment applications have to “Login” a session. This operation is usually done once a day and allows to process payments for the whole day.

Once done, both components can exchange request and response messages. The link is broken by one of the following events:

  • The exchange of a Logout request and response messages.

  • The exchange of an Login request and response messages from the same ECR.

  • When the state of the Login exchange is lost by the Sale or the POI component, depending on the implementation of these Systems (e.g. application Update, application restart, ECR restart, loss of connection…)

login logout mechanism

Login Request

Request MessageHeader

Elements

Required

Description

ProtocolVersion

Yes

3.1

MessageClass

Yes

Service

MessageCategory

Yes

Login

MessageType

Yes

Request

ServiceID

Yes

unique identification of a message pair consisting of 1-10 alphanumeric characters. Must be unique within the last 24 hours for the terminal being used.

SaleID

Yes

identifier of the ECR initiating the request (e.g., ECR001)

POIID

Yes

identfiier of the Terminal receiving the request (e.g., 456)

Request body

Elements

Attributes

Required

Description

LoginRequest

OperatorLanguage

Yes

language of operation based on ISO 639-1

OperatorID

Yes

identifier for the operator performing the transaction for the ECR

DateTime

date and time of the request in UTC ISO format, e.g., 2025-03-03T10:39:59Z

SaleSoftware

ProviderIdentification

Yes

identifier of the ECR provider

ApplicationName

Yes

identifier of the ECR application name

SoftwareVersion

Yes

identifier of the ECR application version

Login request message

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIRequest xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<MessageHeader ProtocolVersion="3.1" MessageClass="Service" MessageCategory="Login" MessageType="Request" ServiceID="9343" SaleID="ECR001" POIID="456"></MessageHeader>
	<LoginRequest OperatorLanguage="EN" OperatorID="Cashier001">
		<DateTime>2025-03-03T10:39:46Z</DateTime>
		<SaleSoftware ProviderIdentification="CashRegisterCompany" ApplicationName="ECR Simulator" SoftwareVersion="0.0.5"></SaleSoftware>
		<SaleTerminalData>
			<SaleCapabilities/>
		</SaleTerminalData>
	</LoginRequest>
</SaleToPOIRequest>

Login response

Response body

Elements

Attributes

Required

Description

LoginResponse

POISystemData

DateTime

Yes

identifier for the operator performing the transaction for the ECR

POISoftware

Yes

date and time of the request in UTC ISO format, e.g., 2025-03-03T10:39:59Z

ApplicationName

Yes

identifier of the Payment application name, e.g., “Pay On Site”

ProviderIdentification

Yes

identifier of the Payment application provider, e.g., “Market Pay”

Softwareversion

Yes

identifier of the Payment application version, e.g., “2.0.6.1-3e0963690”

Login response message

<SaleToPOIResponse>
   <LoginResponse>
      <POISystemData>
         <DateTime>2025-03-03T11:39:46.3+01:00</DateTime>
         <POISoftware ApplicationName="Pay On Site" CertificationCode="" ProviderIdentification="Market Pay" SoftwareVersion="2.0.6.1-3e0963690-qa"/>
         <POIStatus GlobalStatus="OK"/>
      </POISystemData>
      <Response Result="Success"/>
   </LoginResponse>
   <MessageHeader MessageCategory="Login" MessageClass="Service" MessageType="Response" POIID="456" ProtocolVersion="3.1" SaleID="ECR001" ServiceID="9343"/>
</SaleToPOIResponse>

Logout

A logout closes the payment terminal session. After this call is done, ECR cannot call other operations. It is recommended to send a Logout request:

  • After a loss of connection between ECR and Terminal

  • Before all Login requirement

  • At the end of the day

Request MessageHeader

Elements

Required

Description

ProtocolVersion

Yes

3.1

MessageClass

Yes

Service

MessageCategory

Yes

Logout

MessageType

Yes

Request

ServiceID

Yes

same as the one used in Login request.

SaleID

Yes

identifier of the ECR initiating the request (e.g., ECR001")

POIID

Yes

identfier of the Terminal receiving the request (e.g., 456)

Request body

Elements

Attributes

Required

Description

LogoutRequest

Logout request message

<?xml version="1.0" encoding="UTF-8"?>
<SaleToPOIRequest xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<MessageHeader MessageClass="Service" MessageCategory="Logout" MessageType="Request" ServiceID="9346" SaleID="ECR001" POIID="456"></MessageHeader>
	<LogoutRequest></LogoutRequest>
</SaleToPOIRequest>

Logout response message

<SaleToPOIResponse>
   <LogoutResponse>
      <Response Result="Success"/>
   </LogoutResponse>
   <MessageHeader MessageCategory="Logout" MessageClass="Service" MessageType="Response" POIID="456" ProtocolVersion="3.1" SaleID="ECR001" ServiceID="9346"/>
</SaleToPOIResponse>