Session Management
What is 'Session Management'?
-
A 'session' is an attempt to take a card payment.
-
A successful session is the outomce of a successful
Start Session
, followed by an EMVCard Read
, then a successfulAuth Session
- A
Session Approved
response confirms this.
- A
Payter need to ensure that, following a Session Approved
, the session is properly disposed of.
Disposing of a Session
There are two main ways to dispose of a Session.
- Commit the Session. Send a
Commit Session
command through, including the Session ID that was in theSession Approved
command and the final amount. Ensure anOK
Result
is returned. - Void the session. Send a
Void Session
command through, again including the Session ID that was in theSession Approved
command.
Failure to properly dispose of a Session will result in the cardholder's funds being reserved. This can cause significant customer concern and may lead to reputational risk for all parties involved.
As a result of the above, Payter reserves the right to prevent the Go Live of any solution which does not properly dispose of sessions.
Multiple Sessions
Whilst it is most common to be managing just a single session at a time, Payter terminals are able to handle multiple concurrent Sessions. Examples of this are where a single terminal manages multiple smart vending solutions, or the terminal is attached to an EV Charger that has multiple connections.
It is the Integration Controller's responsibility to manage Session IDs.
The local solution should be aware of any current sessions which are not yet complete e.g. pending final amount confirmation, and either Commit or Void them in a timely manner.
Thought should be given to reasonable timeouts to complete expected activities. A successful session for an EV Charger may allow 5 minutes to plug a vehicle in, whereas a timeout to open a smart fridge and select a product may be much shorter.
Using PSP to Check Existing Sessions
This request is only available on the P6X terminal family.
The List Sessions
command can be used on the P6X termimal to return a list of all current sessions on that terminal.
This functionality was originally included in the specification of the Payter Session Protocol for aid during solution testing. Payter have maintained this command in PSP to prevent a breaking change.
The Apollo terminal does not and will not support this command.