LoginRequest
LoginRequest is the first message towards the terminal and is required in order to start communicating. It carries information such as POIID and SalesCapabilites which decides what parameters to use and how the terminal will behave.
A LoginRequest starts a so called Login Session
in the terminal. A Login Session
is active until a successful Logout or a new Login is made. There should always be a possibility to reset the state of the terminal by sending a new Login. However, that way should only be used if all else fails. The AbortRequest
should be used for aborting an ongoing request.
sample LoginRequest message
1
2
3
4
5
6
7
8
9
10
11
12
13
<SaleToPOIRequest>
<MessageHeader ProtocolVersion="3.1" MessageClass="Service" MessageCategory="Login" MessageType="Request" ServiceID="5" SaleID="1" POIID="A-POIID"/>
<LoginRequest OperatorLanguage="sv">
<DateTime>2023-09-26T13:57:31+02:00</DateTime>
<SaleSoftware ProviderIdentification="Demo" ApplicationName="Test SwpIf - SwpTrmLib.PAXTrmImp_1" SoftwareVersion="1.0 - 1.1.23264.1309"/>
<SaleTerminalData TerminalEnvironment="Attended">
<SaleCapabilities>CashierStatus CashierError CashierDisplay POIReplication CustomerAssistance CashierInput PrinterReceipt</SaleCapabilities>
<SaleProfile GenericProfile="Extended">
<ServiceProfiles>Loyalty PIN CardReader</ServiceProfiles>
</SaleProfile>
</SaleTerminalData>
</LoginRequest>
</SaleToPOIRequest>
Name | Lev | Attribute | Description |
---|---|---|---|
LoginRequest | 1 | OperatorLanguage | Language used in the POS system. Supported: sv ,no ,fi ,da . |
OperatorID | This is not used as of now. | ||
DateTime | 2 | Local time when request is made with time zone offset. | |
SaleSoftware | 3 | Important information for SwedbankPay to be able to get an understanding of how different setups work. | |
ApplicationName | Name of the POS application or the module communicating with the terminal. | ||
ProviderIdentification | POS producer name. | ||
SoftwareVersion | Important that this value changes if the software is updated. This helps us to track possible problem if they occur. | ||
SaleTerminalData | 2 | TerminalEnvironment | Only supported value is Attended . |
SaleCapabilities | 3 | The values in this field affects the behavior of the terminal. If only PrinterReceipt is included the terminal won’t send any request to the POS system. Your application will work as a client-only. |
LoginResponse
Login response with result Success
is needed before any other message may be sent to the terminal. A Login success indicates a login session has been established in the terminal. The next message may still get a Failure
with ErrorCondition Busy
which then means the terminal is busy communicating with its hosts. On busy, wait and try again.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version='1.0' encoding='UTF-8'?>
<SaleToPOIResponse>
<MessageHeader ProtocolVersion="3.1" MessageClass="Service" MessageCategory="Login" MessageType="Response" ServiceID="5" SaleID="1" POIID="A-POIID"/>
<LoginResponse>
<Response Result="Success"/>
<POISystemData>
<DateTime>2023-09-26T11:57:31.408Z</DateTime>
<POISoftware ProviderIdentification="Optomany" ApplicationName="axept® PRO" SoftwareVersion="1.2.17.0"/>
<POITerminalData TerminalEnvironment="Attended" POISerialNumber="1710000520">
<POICapabilities>CustomerDisplay CustomerError CustomerInput MagStripe ICC EMVContactless</POICapabilities>
</POITerminalData>
<POIStatus GlobalStatus="OK" SecurityOKFlag="true" PEDOKFlag="true" CardReaderOKFlag="true" CommunicationOKFlag="true"/>
</POISystemData>
</LoginResponse>
</SaleToPOIResponse>
Name | Lev | Attribute | Description |
---|---|---|---|
LoginResponse | 1 | ||
Response | 2 | Result | Success or Failure |
ErrorCondition | Only present if Failure: Common values are Busy - wait and try again, Refusal - Request not accepted |
||
AdditionalResponse | 3 | Only present if Failure and should be a describing text | |
POISystemData | 2 | ||
DateTime | 3 | ApplicationName | Name of the POS application or the module communicating with the terminal |
POISoftware | 3 | ProviderIdentification | Payment application producer |
POITerminalData | 3 | ||
TerminalEnvironment | Only value Attended
|
||
POISerialNumber | Serial number of the terminal | ||
POICapabilities | 4 | Shows the capabilities of the terminal | |
POIStatus | 3 | Different statuses |