Configuring the EFT Terminal

Configuration files General
  • ..\parameter\client\hal.properties
  • ..\parameter\client\terminal.properties
  • ..\parameter\flowService\client\flow\selectDeviceConfigs.properties
  • ..\parameter\server\flowService.properties

Moneris eSelect plus

  • ..\parameter\client\flow\terminalPaymentConfigs.properties

Card Types

  • ..\parameter\client\terminalCardPayment.properties

Cashback

  • ..\parameter\client\flow\terminalPaymentConfigs.properties
  • ..\parameter\client\flow\

Terminal as customer display

  • ..\parameter\client\flow\terminalDisplayLinesConfigs.properties

Terminals and Security

..\parameter\client\flow\terminalPaymentOperationConfigs.properties

Terminal Activation

To enable the terminal, proceed as follows:

  1. Enable the terminal in the configuration file hal.properties:
    DeviceEntryTypes.VIRTUAL.id=Thales_ZVT
    DeviceEntryTypes.VIRTUAL.deviceCategory=TERMINAL
    DeviceEntryTypes.VIRTUAL.enabled=true
  2. Set the terminal as the default terminal:
    DeviceMappingEntryTypes.DefaultTerminal.id=DefaultTerminal
     DeviceMappingEntryTypes.DefaultTerminal.deviceCategory=TERMINAL
    DeviceMappingEntryTypes.DefaultTerminal.mappedTo=Thales_ZVT
  3. Configure the port in the file terminal.properties:
    terminal.Thales_ZVT.port=COM1

Virtual Terminal Activation

It is possible to enable a virtual terminal for testing purposes. This device implements the EFT interface and behaves as a standard terminal. The device is not released for productive operation.

To enable the virtual terminal, proceed as follows:

  1. Enable the virtual terminal in the configuration file hal.properties:
    DeviceEntryTypes.VIRTUAL.id=VIRTUAL
    DeviceEntryTypes.VIRTUAL.deviceCategory=TERMINAL
    DeviceEntryTypes.VIRTUAL.enabled=true
  2. Set the terminal as the default terminal:
    DeviceMappingEntryTypes.DefaultTerminal.id=DefaultTerminal
     DeviceMappingEntryTypes.DefaultTerminal.deviceCategory=TERMINAL
    DeviceMappingEntryTypes.DefaultTerminal.mappedTo=VIRTUAL
  3. Set up the virtual terminal in the configuration file terminal.properties:
     terminal.VIRTUAL.class=gk.cashterminal.impl.virtual.VirtualTermina

Terminal as Customer Display

A terminal or a PIN pad connected to it can be used as a customer display. To do this, proceed as follows:

  1. Enable the appropriate terminal as described under Terminal Activation. For example, the terminal with the ID TransactionPlusTerminal can be used for this purpose.
  2. Connect a PIN pad to the terminal, if necessary.
  3. Set up the display of the desired information in the file terminalDisplayLinesConfigs.properties. In addition, you can define here the number of characters to be displayed for:
    • General information (parameter descriptionLengthOnTerminal)
    • Item number (parameter descriptionItemNumberLengthOnTerminal)
    • Payment amount (parameter amountLengthOnTerminal).

Information on Special Terminals

This section provides information on terminals with special requirements.

Requirement Action
Adidas Terminal Driver Installation If you want to connect the POS to the Adidas terminal Verifone Mx915, you have to install an additional driver.
Moneris eSelect plus - Canada Offline Skip
Enable Offline Skip in the configuration file terminalPayment.properties :
TerminalPaymentOperationConfigs.Default.offlineTerminalPaymentType=OFFLINE_SKIP

Manual Input of Card Number at Terminal

To enable manual input of the card number at the terminal, go to the tab EFT Offline and press the POS button 'Manual Input eSelect'.

Card Types

The card types are listed in the configuration file terminalCardPayment.properties:
 TerminalCardPaymentConfig.terminalCardPaymentMappings.1.terminalCardPayments.37.cardType=57
 TerminalCardPaymentConfig.terminalCardPaymentMappings.1.terminalCardPayments.37.paymentType=*
 TerminalCardPaymentConfig.terminalCardPaymentMappings.1.terminalCardPayments.37.tenderClass=TE
 TerminalCardPaymentConfig.terminalCardPaymentMappings.1.terminalCardPayments.37.checkSignature=true

The following table contains the descriptions of the parameters:

Parameter Description
tenderClass Defines the tender class to which the card type should be mapped. As a result, a corresponding tender class must be imported:
<TenderClassElementDO>
 <BugHeader> 
 <bugImportHeader:ExternalBusinessUnitGroupID>1</bugImportHeader:ExternalBusinessUnitGroupID>
</BugHeader>
<TenderClassDO>
 <tenderClass:TenderClassCode>TE</tenderClass:TenderClassCode>
 <tenderClass:TenderClassDescription>EFT</tenderClass:TenderClassDescription>
</TenderClassDO>
 </TenderClassElementDO>

In addition, this tender class must have been defined for a tender. This means that the TenderClassCode that has already been defined must correspond to the following TenderClassCode.

<TenderDO>
 <tender:TenderTypeCode>ZTTE</tender:TenderTypeCode>
 <tender:TenderClassCode>TE</tender:TenderClassCode>
 <tender:ISOCurrencyCode>EUR</tender:ISOCurrencyCode>
 <tender:Description>Terminalzahlung</tender:Description>
...
</TenderDO>
checkSignature It is configurable whether or not the signature is checked by the cashier.
The mapping in the file terminalCardPayment.properties is carried out for card payment with the connected terminal:
TerminalCardPaymentConfig.terminalCardPaymentMappings.0.id=DEFAULT_TERMINAL_ONLINE_TENDER_MAPPING
and for offline terminal payment:
 TerminalCardPaymentConfig.terminalCardPaymentMappings.1.id=DEFAULT_TERMINAL_OFFLINE_TENDER_MAPPING

Configuring Explicit Cashback

When using card payment, it is possible to pay out an amount as explicit cashback.

Set up the explicit cashback in the file terminalPaymentConfigs.properties:
TerminalPaymentConfigs.Default.cashbackMode=Explicit
Note:
The explicit cashback is called via the terminal payment. Prerequisites:
  • The amount in question is the exact amount.
  • Minimum: The minimum total amount, defined in the parameter cashbackMinTotal in the file cashbackConfigs.properties, is exceeded.

Additionally, the file cashbackConfigs.properties includes two different modes for cashback amount entry:

  1. Entry via fixed keys:

    With this mode, the cashback amount is entered by means of predefined fixed amount keys, which are pressed until the desired cashback total is reached.

    To set this mode, proceed as follows:
    CashbackConfigs.Default.amountInputMode=Add 
    The fixed keys with the amounts are defined via the cashbackNotesList:
    CashbackConfigs.Default.cashbackNotesList.0=10.0
    CashbackConfigs.Default.cashbackNotesList.1=20.0
    CashbackConfigs.Default.cashbackNotesList.2=50.0
    CashbackConfigs.Default.cashbackNotesList.3=100.0

    In this case, the keys are predefined with the values 10, 20, 50 and 100 in the home currency.

  2. Entry via numeric keypad and fixed keys

    With this mode, the cashback amount is entered on the numeric keypad and by means of fixed keys. The amount entered must always be the final amount, partial amounts are not allowed.

    To set this mode, proceed as follows:

    CashbackConfigs.Default.amountInputMode=InputMode

Mobile POS

Terminal Selection in User Menu

To enable the selection of a terminal in the user menu proceed as follows:
 FlowServiceConfig.workstationDeviceCategories.MOB.entries.2.enabled=true
 FlowServiceConfig.workstationDeviceCategories.MOB.entries.2.deviceCategory=TERMINAL

Visibility of Terminals in the EFT Selection Function

All terminals enabled in hal.properties are visible in the EFT Selection function. Some of these devices should only be available for the POS Full Client.

To hide them in the EFT Selection function, proceed as follows:

  1. In hal.properties, set a subcategory for all terminals that should not be available in the EFT Selection function, for example:
    DeviceEntryTypes.Terminal_Adyen.subCategory=FATPOS_TERMINAL
  2. In selectDeviceConfigs.properties, set this subcategory as hidden:
     SelectDeviceConfigs.Terminal.hideSubCategoryDevices.0=FATPOS_TERMINAL

Terminals and Security

Whitelisted Terminals

PCI certified terminals are listed on a whitelist at the internal parameter terminalWhiteList. The parameter defines a list of terminals (Adyen by default) which do not store sensitive customer data in clear text (e.g. PANs). It is in the responsibility of the project, to add their terminals here as well. To add a terminal to the whitelist, the device ID of the related terminal must be listed (from DeviceEntryTypes.{terminal}.id). The card holder data of the whitelisted terminals are stored in the transaction.

Reprinting

In the case of reprinting (Printout Repetition), it can be configured whether the merchant receipt should be reprinted as well. This is done by the parameter reprintMerchantReceipt of the configuration file terminalPaymentOperationConfigs.properties . The parameter is only checked if a whitelisted terminal is used.

There are the following possibilities:

  • reprintMerchantReceipt = true:

    The merchant receipt is reprinted as well. As card holder data of whitelisted terminals are stored in the transaction, the data in the case of reprinting (Printout Repetition) are also taken from the stored transaction.

  • reprintMerchantReceipt = false:

    The merchant receipt is not reprinted.

  • Not whitelisted terminal

    If a communications device that is not whitelisted is used, the merchant copy is always reprinted based on the data from the communications device. It can only be reprinted if it is still available there.