Configuring Multiple OPIRetail Core Instances

EFTLink supports multiple instances of the OPIRetailCore. This can be useful when different Payment Service Providers (PSPs) offer different capabilities or services. For example, one PSP endpoint may support features such as Pay By Link and e-wallet transactions, while another endpoint may be dedicated to standard credit and debit card processing.

By configuring multiple core instances, EFTLink can route different tender types to the most appropriate PSP endpoint.

To configure multiple OPIRetailCore instances, each instance must have its own working directory containing a tailored opiretail.json configuration file.

In the EFTLink configuration, define a separate core entry for each OPIRetailCore instance and configure the routing for each tender type. For example, if one core instance is to handle credit/debit, gift cards and custom forms, while another instance is to process e-wallets and Pay By Link transactions, the configuration would be as follows:

TCP Socket communication (eftlinkconfig.properties)

EPSCore0 = oracle.eftlink.opiretail.OPIRetailCore WorkingFolder:./OPICore1
EPSCore1 = oracle.eftlink.opiretail.OPIRetailCore WorkingFolder:./OPICore2

EwalletCore = 1
GiftCardCore = 0

CustomFormCore = 0
PayByLinkCore = 1

WebSocket communication (eftlinkserver.json)

"epsCores": {
    "cores": {
      "0": "oracle.eftlink.opiretail.OPIRetailCore WorkingFolder:./OPICore1",
      "1": "oracle.eftlink.opiretail.OPIRetailCore WorkingFolder:./OPICore2"
    },
    "routing": {
      "ewalletCore": "1",
      "giftCardCore": "0",
      "customFormCore": "0",
      "payByLinkCore": "1"
    },

After updating the configuration, create the referenced working directories (OPICore1 and OPICore2) within the EFTLink installation directory and place the appropriate opiretail.json into each directory.