3 AJB FIPay

This FIPay implementation is for use with AJB FIPay software with communication via TCP/IP based on a proprietary socket protocol. It should be read in conjunction with the Oracle Retail EFTLink Framework Installation and Configuration Guide.

Disambiguation

This FIPay implementation is for use with any compatible terminal that has AJB firmware installed, with communication based on a socket protocol.

EFTLink General

This document assumes static EFTLink configuration. When deploying with a POS that supports dynamic configuration, all property settings referred to below should be set on the POS, and not directly into local property files.

Minimum Version

The FIPay interface requires a minimum EFTLink version of 20.0.

System Architecture

EFTLink connects directly to the terminal using a proprietary socket protocol.

Note:

This document does not cover installation of AJB software

Fileset

In addition to standard EFTLink files, FIPay uses:

  • FIPayCore.jar – executable code for the FIPay EFTLink core.

  • fipay.properties – configuration settings to specify which features are enabled and to define communication parameters for the interface with the EFT payment system.

  • Lang<CC>_<Core>.properties – Language translation file, for further information see the Language section below.

  • AJBComm.jar – API supplied by AJB to allow communication to the terminal.

Note:

If the POS supports dynamic configuration, properties can be set there instead of in fipay.properties.

Third Party

Note:

Critically important.

The following file is also needed, not supplied by Oracle: AJBComm.jar.

This is an API supplied by AJB to allow communication to FIPay software. It should be placed in cores\FIPay alongside FIPayCore.jar.

Language

The translation files for this core should not require alteration, but if necessary then this can be accomplished by amending the relevant Lang<CC>_<Core>.properties within the base eftlink folder.

The language used will follow the language set in the EFTLink framework; see the Oracle Retail EFTLink Framework Installation and Configuration Guide, EFTLink General Information, Translation section.

EftlinkConfig.properties

DisplayLanguage = EN

Supported country codes are CN, DE, EN, ES, FR, IT, JP, NL, PT, RU and SV.

Core Classname

The following should have been set in the EftlinkConfig.properties file by installcore.bat or installcore.sh:

EPSCore0 = manito.eft.ajb.FIPayCore

Configuration Settings

The full set of configuration properties is defined and commented in fipay.properties.

Key Settings

Settings that may be different for each POS/PED.

Table 3-1 AJB FIPay - Key Settings

Setting Description Example

ip.address

Terminal address IP address

ip.address = IP ADDRESS

store.number

The unique store number allocated by AJB.

store.number = 100

Secondary Settings

These settings are normally correct at their default values but can be overridden if necessary.

Table 3-2 AJB FIPay - Secondary Settings

Setting Description Default Example

ip.port

IP port number.

24900

ip.port = 24900

creditdebit.prompt

Credit/Debit prompt, controls whether to prompt operator for the card type (debit or credit), a specific terminal may have this built-in, so this property maybe turned off (set to false).

true

creditdebit.prompt = true

response.timeout

FIPay response timeout, specify the number of seconds to wait for response from FIPay.

120

response.timeout = 120

pos.validate.swipe

Card validation prompt, controls whether to continue with the payment for this card. The prompt will display the card type.

false

pos.validate.swipe = false

electronic.signature

Enable electronic signature capture, if false signature prompt will appear after receipts are printed.

true

electronic.signature = true

enable.signature.logging

Enable logging of signature data (for debugging purposes ONLY).

Note: This should be enabled for debugging purposes only. As soon as the debugging is complete, set back to false.

false

electronic.signature.logging = false

enable.emv.initialization

Enable EMV transaction processing, when enabled, it will send an 'initDebit' command to FiPay at POS logon, an admin option is also available to allow adhoc initialization.

false

enable.emv.initialization = false

enable.tokenization

Enable tokenization for refund.

false

enable.tokenization = false

currency.symbol

Currency symbol for customer display. If set to 'default', symbol base on operating system regional setting will be used.

$

currency.symbol = $

combine.receipt

Turn on/off POS combine receipt.

true

combine.receipt = true

combine.receipt.suppress.lines

When combine receipt is true, set which line to suppress.

N/A

combine.receipt.suppress.lines = 1,2,3,4

token.expiry.date

Specifies whether an expiry date will be included when performing tokenized refunds.

false

token.expiry.date = false

combine.receipt.suppress.strings

When combine receipt is true, set what line to suppress when strings are matched.

N/A

combine.receipt.suppress.strings = DATE,DCC Not Available

giftcard.handler

Gift card handler's, fully qualified class name. Possible values are:

manito.eft.ajb.giftcard.StandardFiPayGiftCardHandler

manito.eft.ajb.giftcard.SVSGiftCardHandler, manito.eft.ajb.giftcard.ValueLinkGiftCardHandler

N/A

giftcard.handler = manito.eft.ajb.giftcard.StandardFiPayGiftCardHandler

giftcard.provider

Gift card provider's, fully qualified class name. Possible values are:

manito.eft.ajb.giftcard.FiPayBlackhawk, manito.eft.ajb.giftcard.FiPaySVS, manito.eft.ajb.giftcard.FiPayGiveX, manito.eft.ajb.giftcard.FiPayInComm, manito.eft.ajb.giftcard.FiPayValueLink

N/A

giftcard.provider =

swipe.fallback.keyed

Failure of card swipe during payment can be configured to result in fallback to keyed.

False

swipe.fallback.keyed=false

authcode.minlength

Specify minimum length of the authorization code which will be accepted.

1

authcode.minlength = 1

void.header.n

[where n is >0]

Specify several header lines to include on void receipts.

None

void.header.1 = **********

void.header.2 = ** VOID **

void.header.3 = **********

void.footer.n

[where n is >0

Specify a number of footer lines to include on void receipts.

None

void.footer.1 = **********

void.footer.2 = ** VOID **

void.footer.3 = **********

authcode.attempts

Specify the number of attempts the operator is allowed when entering the authorization code, and characters entered are less than specified by authcode.minlength.

1

authcode.attempts = 1

ReceiptSignatureTriggerText

Specifies the text line on the receipt used to identify signature capture. Line will be replaced using TXT_SIGNATURE_CAPTURED.

x_____

ReceiptSignatureTriggerText = x_____

enable.check.payment

Enable check payment functionality.

false

enable.check.payment = true

display.language

Specify the language the PED uses to display the prompt (150) message.

0(English)

display.language = 0

customer.question.form.name

The name of the customer’s question/verification form.

FI_YESNO

customer.question.form.name = FI_YESNO

customer.question.max.text.per.line

The maximum number of characters of each line for the customer question form.

24

customer.question.max.text.per.line = 24

display.message.form.id

The name of the form used to display custom messages like marketing ones.

FI_MSGONLY

display.message.form.id = FI_MSGONLY

display.message.max.text.per.line

The maximum number of characters for the custom message above.

24

display.message.max.text.per.line=24

capture.numeric.form.id

The name of the form used to capture generic numeric data from the PIN pad.

FI_GETDATA

capture.numeric.form.id=FI_GETDATA

display.message.duration

The duration in seconds to display the prompt/marketing message in the PED.

30

display.message.duration = 30

capture.numeric.max.text.per.line

The maximum characters for each line in the message to capture numeric data like phone number from the PIN pad.

42

capture.numeric.max.text.per.line=42

capture.phone.number.maxlength

The maximum characters of phone number to capture from the PIN pad.

10

capture.phone.number.maxlength=10

Supported Functions

The following operations are supported by this implementation of the AJB FIPay interface.

Table 3-3 AJB FIPay - Supported Functions

Function Description

Payment

EFTLink sends payment requests to AJB FIPay. AJB will return a response message with formatted receipt strings for customer and/or merchant receipts. In an event of referral where authorization cannot be obtained online then a prompt for authorization code will appear; the authorization code must be obtained via telephone and entered here.

If successful, appropriate receipts will be printed at the end of transaction.

Reversal

EFTLink sends reversal requests to AJB FIPay. This will reverse a transaction specified by the transaction number, found on the receipt, which must be captured by the POS and passed on to EFTLink.

Refund

EFTLink sends refund requests to AJB FIPay. This will refund a transaction with specified amount.

Reconciliation / Settlement

This is not supported directly by AJB FIPay via TCP/IP request; instead, a batch script supplied by AJB must be used. This can be set up to run automatically at a specific time or on-demand at user's discretion.

Check Payment

EFTLink sends check payment requests to AJB FIPay.

Please note that offline authorization is not permitted for check payments. This type of payment is not permitted in the SAF queue of the AJB FIPay solution.

Sale State Notifications

Sends line items through to the device so the customer display can be updated in line with the POS.

SVC Payment

Sends a gift or merchandise credit card payment request to the terminal. If there are not enough funds available, only the funds available will be deducted. The POS client will have to settle the transaction with another tender in this scenario.

SVC Activate

Sends a gift or merchandise credit card activation request to the terminal.

SVC Deactivate

Sends a gift or merchandise credit card deactivation request to the terminal. The account is disabled after this as the request is intended to be used for lost or stolen cards. It is not possible to use the card or account once this request has been issued and accepted.

SVC Add Value

Sends a gift or merchandise credit card add value request to the terminal. This will only add value to an account that has been activated.

SVC Balance Enquiry

Sends a gift or merchandise credit card balance enquiry request to the terminal

SVC Unload (Cashout)

Sends a gift or merchandise credit card cash out request to the terminal. All funds are deducted from the account and the cash back amount is returned to the POS. The account is not deactivated as part of this process.

Custom form for displaying a message

Sends a request to the terminal that displays the message text passed by the POS. The core sends a success or a failure flag back to the POS.

Custom form for customer question/verification

Sends a request to the terminal with a question/verification message. The customer selects either the Yes or No button. The core sends 'Y' or 'N' as part of the response to the POS.

Custom form for capturing phone number

Sends a request to the terminal triggering a phone number capture. The customer keys in their phone number and hit submit. The core sends the captured phone number to the POS.

Custom form for capturing signature

Sends a request to the terminal triggering a signature capture.