The eft() command directs the POS to invoke connected payment providers and request payment processing. A single command consists of a number of directives to control the processing.
Not all directives apply to every Eftpos vendor, they depend on which Eftpos solution you are using, and what technical ability the supplied interface has.
(All Vendors) Sets the amount of payment to request
Reserved for future use
(All Vendors) Sets any cash out component of this payment request
(All Vendors) Sets the reference code to be used for this transaction. A default value will be supplied if not set. If you manually supply reference codes, you will need to ensure that the requirements of the eftpos provider are met. You must not override this value when using EFTPOS New Zealand V5 integrated eftpos as transaction recovery under restart conditions may not function correctly.
(All Vendors) Defines the type of transaction to be performed.
|purchase||Requests a normal eftpos purchase transaction. The amount is specified using amount(X)|
|cash||Requests a cash out only transaction, without an associated purchase. The cash out amount is specified using cash(X)|
|purchasecash||Requests an eftpos purchase transaction with additional cash out. The purchase amount is specified using amount(X) and the cash out with cash(Y)|
|refund||Requests an eftpos refund transaction. Refund transactions may require additional merchant agreements and processes in order to be used. Contact your eftpos acquirer for more information|
|recover||Used internally. Do not specify|
|balance||Requests a balance transaction to allow a customer to see their current balance. Rarely used|
|onlineflybuy||Reserved for Flybuy card processing. Contact Fieldpine before use.|
|noncash||Specialised use. Use only when directed by Fieldpine. Primarily this is used for systems that use a cash out transaction to indicate the charging of a phone card or similar. A seperate txn() is required as otherwise the cash out transaction causes the End of Day to misbalance. Essentially this command is letting the POS know that this "cash out" physical pinpad transaction does not involve the actual flow of cash|
(Some Vendors) Sends the command ZZZ directly to the payment interface as a function request. This is used to request processing that is not payment processing. Each interface is free to supply and support whatever functions it wishes, but the names are standardised.
|eft(function(Login)) or eft(function(logon))||Initiate a Login process. Most systems will do this automatically if required.|
|eft(function(cpanel))||Display a control panel to allow the operator a menu of further choices|
|eft(function(setenq))||Request a settlement enquiry|
|eft(function(setcut))||Request a settlement cutover|
|eft(function(reprint))||Request a reprint of the last print|
|eft(function(flybuy))||Initiate a request to scan Flybuy loyalty card|
(Rare) This directive allows you to pass direct values to the underlying provider regardless of POS support for those features. This directive is rarely required.
(All Vendors) Causes a prompt screen to be displayed allowing the operator to manually enter or confirm the amount() and cash() values. This screen is invoked using the screen(standard(16)) PosCommand.
Mixing both prompt and surcharge may block prompt if a surcharge applies.
(Rare) Request the pinpad to display a prompt to allow the customer to swipe their loyalty card now.
eft(disable( [credit] [,cheque] [,saving] ))
(Some Vendors) Requests the pinpad to disable the customer from selecting certain types of accounts. This might be done if a special offer is not valid if paid by credit card, in which case eft(disable(credit)) could be used. Alternatively, if you have added a credit card surcharge, then eft(disable(cheque,saving)) might be used to ensure the customer does not accidentally pay from these accounts, which would then require you to refund the surcharge.
(All Vendors) Calculate if any payment surcharge applies and apply this surcharge now.
If a site wishes to not print eftpos receipts by default then the setting EftposReceiptInstant can be defined to
- "off" or "no", The receipt is suppressed, and if a receipt is needed then the command eft(printlast) will print the receipt
- "ask". The operator will be asked if the eftpos receipt is required or not.
- No value. Receipts are automatically printed
Vendor Support Information
|Option||Eftpos NZ PC-Eftpos||Smartpay Keylink Plus||Payment Express|
|disable(credit)||Yes||No||No (probably possible)|
|disable(cheque)||Yes. From version P28.
Using either disable(cheque) or disable(saving) will result in both accounts being disabled and "credit only" selected.
|No||No (probably possible)|