Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

To begin with, Concert is the name of a communication protocol defined by “Association du Paiement” between a cash register and a POS.

It lists all the communication interfaces it supports (ex: WIFI, Bluetooth), it describe data content and data exchange workflow.

 

Note

This documentation is dedicated to PayXpress V4 and beyond versions

Summary

Table of Contents
maxLevel6
minLevel1
include
outlinefalse
indent
exclude
stylenone
typelist
printabletrue
class

Concert in PayXpress

A part of this protocol has been implemented in PayXpress in order to support it. In our application architecture, we call it “Concert Service”. We will use this name to refer to the implementation of Concert protocol in the following documentation.

how_concert_works_w_payxpress.png

Today, Concert Service supports these communication interfaces:

Communication interface

Is supported?

IP/WIFI

(tick)

IP/ETHERNET

(tick)

USB/RS232

(tick)

BLUETOOTH

(error)

Concert supported connections

There are two different ways a cash register can establish physical communication with the POS terminal:

  • a USB cable connected to the PC, or

  • via IP/Ethernet (RJ45) connected to a router or through Wifi

Here is an overview of the differences between these two types of connections:

Description

USB Cable connected to PC​

IP/Ethernet (RJ45) connected to Router or Wifi

Can the cable be used to communicate with Cashier and for Internet?

No. You will need to have one USB cable to communicate with the PC & another cable RJ45 for Internet for the POS.​

Yes.​ The cash register and the POS device will need to be connected to the same network to be able to communicate with each other.

Need to install drivers in the PC of the cashier in order to communicate with the POS?

Yes. ​You will need to install 3 drivers so that the POS can been seen/identified by the cash register PC.

No. ​Communication with the POS is via IP and by configuring a static IP over the POS (recommended).

Half-Duplex or Full-Duplex transmission communication?

Half-Duplex. ​
Communication flows in two ways but it is not simultaneous so it implies that the POS cannot handle more than one request at a time.

Full Duplex.​
It is possible to send multiple requests at the
same time. ​For example:​

  • Ping the POS & request a payment, for example.​

  • Payment request & Get Status of the transaction (pooling).

Max number characters that can be exchanged between the POS and the Cashier?

512 characters

No limitation

IP/Ethernet and WIFI connection specifications

Both connection specifications are the same. Cash register and POS device will be connected to the same network in order to be able to communicate with each other.

connections.png

Cash register is always the first to start a communication with the POS, so it implies that cash register knows the POS IP address and port to use before doing any calls.

Info

It is recommended to set a static IP address to the POS during WIFI/Ethernet connection configuration because the DHCP could change the POS IP address anytime and disrupts cash register configuration.

 

For POS port, it is possible to configure it in PayXpress application in “Burger menu” > “Settings” > “Concert configuration” > “Port”.

Any value change will trigger a dynamic restart of Concert Service without noticing the user.

 

configuring_concert_on_pos.png
configuring_concert_on_pos_2.png

User can still check the Concert service configuration on the main page of PayXpress, there is a small description of the running configuration at the bottom of the page.

concert_running.png

Regarding security aspects, there is no SSL, no data ciphering. All the data are transferred through a socket between the cash register and the POS. A whitelist mechanism is implemented in PayXpress to filter IP addresses, in “Burger menu” > “Settings” > “Concert configuration” > “Whitelist”.

Any value change will trigger a dynamic restart of Concert Service without noticing the user.

 

whitelist_page.png
whitelist_page_2.png

Developer implementation notes

Use a socket for sending data to the POS and keep it alive until POS replies but make sure a new socket is opened each time a new query/answer is done. A timeout can be set but do not set it below 1~2 minutes for transaction query if you are running it synchronously, some transactions could take some time because there are some user input pages such as cardholder insert card page or ticket dematerialisation page so shutting down socket would make cash register to lose transaction result (such cases can be prevented, it will be covered in next sections).

WIFI communication is not constraint to single thread, so you can call as much as you want POS device with a new socket, you will get a reply for each call. Keep in mind that only one transaction can be processed in the mean time, so any other transaction queries would be declined if there is already one in running.

USB/RS232 connections specifications

USB/RS232 - Specifications

Concert data structure

Depending the Concert specifications version, the structure of the data changes very significantly. This documentation will explain the main changes between V2 & V3

Concert V3 Data structure & Examples

Concert V3

Concert V2 Data structure - Legacy

Concert V2 - Legacy

 

API

The Concert Protocol API allows the cash register to communicate with PayXpress (who in turn, communicates with the back end), in order to handle all aspects of the payment request (and tickets):

Concert_workflow.png