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.
This FIPay implementation is for use with any compatible terminal that has AJB firmware installed, with communication based on a socket protocol.
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.
EFTLink connects directly to the terminal using a proprietary socket protocol.
Note: This document does not cover installation of AJB software |
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 infipay.properties . |
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
.
The translation files for this core should not require alteration, but if necessary then this can 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.
The following should have been set in the EftlinkConfig.properties
file by installcore.bat or installcore.sh:
EPSCore0 = manito.eft.ajb.FIPayCore
The full set of configuration properties is defined and commented in fipay.properties
.
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 |
|
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 |
|
response.timeout |
FIPay response timeout, specify the number of seconds to wait for response from FIPay. |
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 |
|
electronic.signature |
Enable electronic signature capture, if false signature prompt will appear after receipts are printed. |
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 |
|
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.tokenization |
Enable tokenization for refund. |
false |
|
currency.symbol |
Currency symbol for customer display. If set to 'default', symbol base on operating system regional setting will be used. |
$ |
|
combine.receipt |
Turn on/off POS combine receipt. |
true |
|
combine.receipt.suppress.lines |
When combine receipt is true, set which line to suppress. |
N/A |
|
token.expiry.date |
Specifies whether an expiry date will be included when performing tokenized refunds. |
false |
|
combine.receipt.suppress.strings |
When combine receipt is true, set what line to suppress when strings are matched. |
N/A |
|
giftcard.handler |
Gift card handler's, fully qualified class name. Possible values are:
|
N/A |
|
giftcard.provider |
Gift card provider's, fully qualified class name. Possible values are:
|
N/A |
|
swipe.fallback.keyed |
Failure of card swipe during payment can be configured to result in fallback to keyed. |
False |
|
authcode.minlength |
Specify minimum length of the authorization code which will be accepted. |
1 |
|
void.header.n [where n is >0] |
Specify a number of header lines to include on void receipts. |
None |
|
void.footer.n [where n is >0 |
Specify a number of footer lines to include on void receipts. |
None |
|
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 |
|
ReceiptSignatureTriggerText |
Specifies the text line on the receipt used to identify signature capture. Line will be replaced using TXT_SIGNATURE_CAPTURED. |
x_____ |
|
enable.check.payment |
Enable check payment functionality. |
false |
|
display.language |
Specify the language the PED uses to display the prompt (150) message. |
0(English) |
|
customer.question.form.name |
The name of the customer question/verification form. |
FI_YESNO |
|
customer.question.max.text.per.line |
The maximum number of characters of each line for the customer question form. |
24 |
|
display.message.form.id |
The name of the form used to display custom messages like marketing ones. |
FI_MSGONLY |
|
display.message.max.text.per.line |
The maximum number of characters for the custom message above. |
24 |
|
capture.numeric.form.id |
The name of the form used to capture generic numeric data from the PIN pad. |
FI_GETDATA |
|
display.message.duration |
The duration in seconds to display the prompt/marketing message in the PED. |
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.phone.number.maxlength |
The maximum characters of phone number to capture from the PIN pad. |
10 |
|
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. |