The Interfaces
The LS Pay domain includes the interfaces the plugins will adhere to. Plugins can inherit different subsets of functionality and every plugin is unique. All plugins inherit IEAManagement, ISettingService, ILogService, IEFT, and either IPED or IPIS, depending on the plugin being App2App (on Android) or a standard PED.
The following interfaces are available in LS Pay:
| Interface | Entity | Description |
|---|---|---|
| IEAManagement | EAM | This is the entry point to the EFT connection (plugin). As an entry point it delivers access to other services (for example EFT, line items, and barcode reader), if these are available. This entry point maintains the connection with the device and handles pairing, if needed. |
| IBarcodeReader | EAM | The barcode interface provides barcode reading service for each PED that supports the action. |
| IBarcodeReaderService | EAM | Gives access to the barcode reader on the PED. |
| ILineItems | EAM | The line items interface provides access to line items management on each PED that supports the action. |
| ILineItemService | EAM | Add a single line item or remove all line items on the PED. |
| ILineItemsManagement | EAM | Additional service, update, or remove item by ID on PED. |
| ILineItemsDisplay | EAM | Additional service, send request to display items on PED's screen. |
| IPair | EAM | The IPair interface indicates a pairing is needed when connecting a terminal. |
| IPairOnPOS | EAM | The IPairOnPOS (inherits IPair interface) gives access to a function receiving a pairing code from the POS to send to the terminal. |
| IPairOnTerminal | EAM | The IPairOnTerminal (inherits IPair interface) activates the pairing function on the terminal and sends the code using an event to the POS. This pairing code should then be keyed in on the terminal. |
| IPrinter | EAM | The printer interface provides access to the printer on the PED. |
| IPrinterService | EAM | The IPrinterService interface gives access to multiple printing interfaces for a device. |
| IBitmapPrinting | EAM | A function that receives a bitmap from the POS and prints on the terminal. |
| ILineFeedPrinting | EAM | If the printer allows linefeed it can be sent from the POS. |
| IPrinterFontHandle | EAM | If it is possible to indicate a font that has been uploaded on the terminal. |
| IReceiptPrinting | EAM | If the printer can accept multiple lines from the POS, Specially set for receipts of type ReceiptLine in LS Pay. |
| ITextPrinting | EAM | If the printer can accept request to print a single line. |
| IReprint | EAM | The IReprint interface indicates that it is possible to activate a function on the terminal to print a receipt. |
| IReprintLast | EAM | If the PED can print out the last receipt, no identification needed. |
| IReprintReceipt | EAM | If the PED can accept what receipt to print, by unique identification number. |
| IExternalConfiguration | EAM | Communication with the external device when it needs to update or reconfigure. |
| IMobile | EAM | Functions that only apply to PSPs that connect to a mobile. Gives access to functions when application enters background or foreground. |
| IProperties | EAM | If PED can supply properties, like version numbers, hardware information, and software information. Also if it is possible to update particular settings. |
| IAdditionalData | EFT | Empty interface. If receipts need to return additional information that is not known or needed in other plugins. |
| IAmountConfirmation | EFT | Note: Obsolete as of 10/2020. Use IVerification instead.The option of sending a confirmation from the POS that the given amount is valid. |
| ICancel | EFT | If the Plugin is ICancel the user can cancel ongoing transactions if the terminal has not sent the request to the acquirer. |
| ICardData | EFT | Retrieve information from card. |
| ICardVerification | EFT | Note: Obsolete as of 10/2020. Use IVerification instead.Verify card information to proceed with the transaction being processed. |
| IPayFeatureFlag | EFT | Each plugin has particular features the POS can check for, for example does it accept tips or cash back from the POS or is it accepted on the PED? Is it possible to do referenced refunds, receive receipts? and so on. |
| IEFT | EFT | An empty interface. Base for all other EFT interfaces. |
| IPED | EFT | The IPED interface (inherits IEFT interface) provides payment session management, payment transactions (purchase, refund, void), and query about previous transactions. |
| IQR | EFT | The IQR interface (Inherits IPED interface) provides access to payment transactions (purchase, refund, void) using a QR code to activate the process. |
| IInstallments | EFT | Interface indicating if installments are allowed for purchase requests for a given PSPs technical stack (PED), Used if the terminal supports to split a payment into multiple installments. |
| IPIS | EFT | The IPIS interface (inherits IEFT interface) provides access to payment transactions (purchase, refund, void) and query about previous transactions. Used for App2App interactions, implemented for PAX A920 Android devices. |
| IGiftCard | EFT | The gift card interface provides access to gift card services. |
| IGiftCardService | EFT | If the PED can handle gift card management, deposit, balance request, and to close a card. |
| IToken | EFT | Gives access to the token service. |
| ITokenService | EFT | Gives access to specialized token services. |
| ITokenSubscription | EFT | If the PED can ask for a subscription token. |
| IReport | EFT | Activate X or Z report on terminal. Will return receipt if returned by the PED. |
| IOfflineEFT | EFT | Request an offline purchase, if PED allows it. |
| ICardData | EFT | If PED can read a card outside of a transaction, a list of strings will be returned indicating description on the card read. |
| IPreAuth | EFT | Manage pre-authorization functions, added to the EFT class for a plugin supporting this type of functionality. |
| IVerification | EFT | If further details are needed from POS and cardholder to finalize an EFT transaction, LS Pay will request what type of data is needed. The POS sends the value indicated and LS Pay will route it to the PED to finish the transaction. |
| IAmountConfirmation | EFT | Note: Obsolete as of 10/2020. Use IVerification instead. Manage amount confirmation. |
| ICardVerification | EFT | Note: Obsolete as of 10/2020. Use IVerification instead. Manage verification of card being used, by cashier. |
| ISignatureVerification | EFT | Note: Obsolete as of 10/2020. Use IVerification instead. Manage verification of signature by cashier, added to the EFT class for a plugin supporting this type of functionality. |
| IVoiceAuthentication | EFT | Note: Obsolete as of 10/2020. Use IVerification instead. Manage authorization number given by issuer, added to the EFT class for a plugin supporting this type of functionality. |
| ICancel | EFT | If current EFT transaction can be canceled by the POS. |
| IGetTransaction | EFT | Functions that allow the POS to retrieve information for transactions by given unique IDs. |
| ISession | EFT | If terminals need session-based interaction, this interface gives access to functions to start and finish the interaction. |
| ISignature | EFT | Function to activate signature capture on the terminal. |
| ITransactionDetails | EFT | If particular transaction details are needed before an EFT transaction can be processed. |
| IKeyValueStoreService | LS Pay | Interface to store and retrieve values by keys. Used internally. |
| ILogService | LS Pay | Interface with access to the internal LS Pay log service. Logs are created in LS Pay but stored by external systems. |
| IPluginFactory | LS Pay | Interface to handle initialization of each plugin by the type. |
| ISettingsService | LS Pay | Interface to handle settings, giving access to functions to manage using Key&Value pairs. |