Using Multiple Terminal IDs
Some stores have one terminal that is shared between several merchants that are located in the same place. In those situations, transactions can be made with different terminal IDs on the terminal.
Traditionally this can be accomplished by logging out after each transaction, and then logging in with the desired terminal ID before each transaction. The problem with this approach is that it takes time, and only works if there is no disruption to the network connectivity.
The Westpay terminal support using multiple terminal IDs concurrently on a terminal, without the need for logging in before each transaction.
Note: The Multi-TID feature requires a special agreement with Westpay and is not available by default.
How to use multiple terminal IDs
To use multiple terminal IDs the ECR needs to do 2 things:
- First, the ECR needs to tell the terminal which terminal IDs it intends to use for transactions. This is done when logging in, by including a number of secondary terminal IDs in the TerminalEnvironment object.
- Second, in each transaction the ECR needs to include the specific terminal ID to use for that transaction. This is done by creating a PurcaseRequest and setting the TerminalId property.
Primary vs secondary terminal IDs.
In TerminalEnvironment, the ECR must specify the TerminalId. This is the primary terminal ID. It defines which software the terminal runs, when it should be updated, as well as other settings that are not strictly related to the merchant.
The secondary terminal IDs on the other hand, only controls merchant information and payment options. The secondary terminal IDs are specified in the SecondaryTerminalIds
Logging in
In the TerminalEnvironment class, there are two properties that must be set:
- TerminalId - This is the primary terminal ID.
- SecondaryTerminalIds - A list of other terminal IDs that can be used.
Both the primary and secondary terminal IDs can be used in a transaction. It is not an error to include the primary ID in the list of secondary IDs but it is not necessary.
The difference between the primary and secondary terminal IDs is that the primary terminal ID is used to control all terminal configuration, including software updates. For the secondary terminal IDs only the basic merchant configuration is used.