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 Request
Request MessageHeader
Elements | Required | Description |
---|---|---|
ProtocolVersion | 3.1 | |
MessageClass | Service | |
MessageCategory | Login | |
MessageType | Request | |
ServiceID | 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 | identifier of the ECR initiating the request (e.g., ECR001) | |
POIID | identfiier of the Terminal receiving the request (e.g., 456) |
Request body
Elements | Attributes | Required | Description |
---|---|---|---|
LoginRequest | |||
OperatorLanguage | language of operation based on ISO 639-1 | ||
OperatorID | 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 | identifier of the ECR provider | ||
ApplicationName | identifier of the ECR application name | ||
SoftwareVersion | 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 | identifier for the operator performing the transaction for the ECR | ||
POISoftware | date and time of the request in UTC ISO format, e.g., 2025-03-03T10:39:59Z | ||
ApplicationName | identifier of the Payment application name, e.g., “Pay On Site” | ||
ProviderIdentification | identifier of the Payment application provider, e.g., “Market Pay” | ||
Softwareversion | 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 | 3.1 | |
MessageClass | Service | |
MessageCategory | Logout | |
MessageType | Request | |
ServiceID | same as the one used in Login request. | |
SaleID | identifier of the ECR initiating the request (e.g., ECR001") | |
POIID | 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>