Terminal

public class Terminal : CustomStringConvertible

Terminal base implementation. Create instance of TerminalApi to connect to payment terminal.

Most simple usage is using synchronous methods like this example:

 
 // Create settings with Terminal-ID of terminal to connect to
 com.six.TerminalSettings settings = new com.six.TerminalSettings()
 settings.setTerminalId(12345678)

// Create terminal com.six.Terminal terminal = new com.six.Terminal(settings)

// Run transaction terminal.transaction(com.six.constants.TransactionType.PURCHASE, new com.six.Amount(8.5, com.six.constants.Currency.CHF))

// Disconnect from terminal and clean up properly terminal.dispose()

The above example blocks until the transaction finishes. To create a responsive application use asynchronous methods like this example:

 
 // Asynchronous listener handling terminal events.
 class TerminalHandler extends com.six.DefaultTerminalListener {
    {@literal @}Override
    public func transactionCompleted(com.six.TimEvent event, final com.six.TransactionResponse data) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            {@literal @}Override
            public func run() {
                // handle transaction finished using data
            }
        })
    }
 }

// Create settings with Terminal-ID of terminal to connect to com.six.TerminalSettings settings = new com.six.TerminalSettings() settings.setTerminalId(12345678)

// Create terminal com.six.Terminal terminal = new com.six.Terminal(settings)

// Add listener to handle events terminal.addListener(new TerminalHandler())

// Run transaction terminal.transactionAsync(com.six.constants.TransactionType.PURCHASE, new com.six.Amount(8.5, com.six.constants.Currency.CHF))

// Once the transaction completes TerminalHandler.transactionCompleted will be called

  • TCP/IP communication driver identifier.

    Declaration

    Swift

    public static let COMM_DRIVER_TCPIP: String
  • Tim Api Build Version.

    Declaration

    Swift

    public static var timApiVersion: String { get }
  • Create terminal using configuration.

    Declaration

    Swift

    public init(settings: TerminalSettings) throws
  • Dispose of terminal.

    Declaration

    Swift

    public func dispose()
  • Opens a user shift. If the shift is already open, no error is returned.

    Declaration

    Swift

    public func activate() throws -> ActivateResponse
  • Opens a user shift. If the shift is already open, no error is returned. Asynchronous version of {@link Terminal#activate}. Returns immediately and calls {@link TerminalListener#activateCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func activateAsync() throws
  • Requests the list of brands available on the terminal.

    Side-Effect: Updates Brands member with all brands available on the terminal. Use {@link Terminal#getBrands} to retrieve them.

    Declaration

    Swift

    public func applicationInformation() throws
  • Requests the list of brands available on the terminal. Asynchronous version of {@link Terminal#applicationInformation}. Returns immediately and calls {@link TerminalListener#applicationInformationCompleted} on all notifiers once finished.

    Side-Effect: Updates Brands member with all brands available on the terminal. Use Terminal.getBrands() to retrieve them.

    Declaration

    Swift

    public func applicationInformationAsync() throws
  • Forces the EFT Terminal to transmit all transactions to the host system as well to do the daily closing.

    Declaration

    Swift

    public func balance() throws -> BalanceResponse
  • Forces the EFT Terminal to transmit all transactions to the host system as well to do the daily closing. Asynchronous version of {@link #balance}. Returns immediately and calls {@link TerminalListener#balanceCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func balanceAsync() throws
  • Aborts an open asynchronous Financial Transaction or Non-Financial Transaction request, except for a {@link Terminal#commit} or {@link Terminal#rollbackAsync} request, which cannot be cancelled.

    Further information: A Cancel-request is a best effort request. The EFT Terminal can ignore the Cancel-request if the request in progress is in a state it can not be cancelled. A Cancel-request has no effect if there’s no open request of a Financial Transaction or Non-financial Transaction. If the EFT Terminal cancels the request in progress an error response is send back for the cancelled request (see chapter Abort Purchase for an example). Cancel-requests can be send multiple times in an attempt to cancel a request in progress but should be spaced by a few seconds. Cancel-requests themselves are never acknowledged by the EFT Terminal.

    The Transaction request can only be cancelled before a Commit has been performed. Also the underlying payment protocol can restrict this functionality.

    Declaration

    Swift

    public func cancel() throws
  • Aborts an open asynchronous Financial Transaction or Non-Financial Transaction request, except for a {@link Terminal#commit} or {@link Terminal#rollbackAsync} request, which cannot be cancelled.

    Further information: A Cancel-request is a best effort request. The EFT Terminal can ignore the Cancel-request if the request in progress is in a state it can not be cancelled. A Cancel-request has no effect if there’s no open request of a Financial Transaction or Non-financial Transaction. If the EFT Terminal cancels the request in progress an error response is send back for the cancelled request (see chapter Abort Purchase for an example). Cancel-requests can be send multiple times in an attempt to cancel a request in progress but should be spaced by a few seconds. Cancel-requests themselves are never acknowledged by the EFT Terminal.

    The Transaction request can only be cancelled before a Commit has been performed. Also the underlying payment protocol can restrict this functionality.

    Declaration

    Swift

    public func cancel(silent: Bool, retainCard: Bool) throws
  • Changes configuration parameters of the EFT Terminal. @param settings Dictionary of values for settings types to change.

    Declaration

    Swift

    public func changeSettings(settings: [CSettingType : String]) throws
  • Changes configuration parameters of the EFT Terminal. Asynchronous version of {@link Terminal#changeSettings}. Returns immediately and calls {@link TerminalListener#changeSettingsCompleted} on all notifiers once finished. @param settings Dictionary of values for settings types to change.

    Declaration

    Swift

    public func changeSettingsAsync(settings: [CSettingType : String]) throws
  • Performs Commit-operation after a successful Transaction call.

    Declaration

    Swift

    public func commit() throws
  • Performs Commit-operation after a successful call to {@link Terminal#transaction} or {@link Terminal#transactionAsync}. Asynchronous version of {@link Terminal#commit}. Returns immediately and calls {@link TerminalListener#commitCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func commitAsync() throws
  • Performs Commit-operation after a successful Transaction call.

    Declaration

    Swift

    public func commit(amount: Amount) throws
  • Performs Commit-operation after a successful call to {@link Terminal#transaction} or {@link Terminal#transactionAsync}. Asynchronous version of {@link Terminal#commit}. Returns immediately and calls {@link TerminalListener#commitCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func commitAsync(amount: Amount) throws
  • Initiates a connection to the EFT Terminal. Calling the {@link Terminal#connect} is not needed normally, because all methods make first a connect, if not connected.

    Declaration

    Swift

    public func connect() throws
  • Initiates a connection to the EFT Terminal. Asynchronous version of {@link Terminal#connect}. Returns immediately and calls {@link TerminalListener#connectCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func connectAsync() throws
  • Get counter information’s from the EFT Terminal. @param type type of counters to request.

    Declaration

    Swift

    public func counterRequest(type: CCounterType) throws -> Counters
  • Get counter information’s from the EFT Terminal. Asynchronous version of {@link Terminal#counterRequest}. Returns immediately and calls {@link TerminalListener#counterRequestCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func counterRequestAsync(type: CCounterType) throws
  • Closes a user shift. If the shift is already closed, no error is returned.

    Declaration

    Swift

    public func deactivate() throws -> DeactivateResponse
  • Closes a user shift. If the shift is already closed, no error is returned. Asynchronous version of {@link Terminal#deactivate}. Returns immediately and calls {@link TerminalListener#deactivateCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func deactivateAsync() throws
  • Interrupts the connection to the EFT Terminal.

    Declaration

    Swift

    public func disconnect() throws
  • Interrupts the connection to the EFT Terminal. Asynchronous version of {@link Terminal#disconnect}. Returns immediately and calls {@link TerminalListener#disconnectCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func disconnectAsync() throws
  • Requests DCC rates from the EFT Terminal. The DCC rates are returned as receipt.

    Declaration

    Swift

    public func dccRates() throws -> PrintData
  • Requests DCC rates from the EFT Terminal. The DCC rates are returned as receipt. Asynchronous version of {@link Terminal#dccRates}. Returns immediately and calls {@link TerminalListener#dccRatesCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func dccRatesAsync() throws
  • Get hardware information from the EFT Terminal.

    Declaration

    Swift

    public func hardwareInformation() throws -> HardwareInformationResponse?
  • Get hardware information from the EFT Terminal. Asynchronous version of {@link Terminal#hardwareInformation}. Returns immediately and calls {@link TerminalListener#hardwareInformationCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func hardwareInformationAsync() throws
  • Initialize a transaction knowing the amount or the card type.

    Declaration

    Swift

    public func initTransaction(displayAmount: Bool, amount: Amount?) throws -> CardData?
  • Initialize a transaction knowing the amount or the card type.

    Declaration

    Swift

    public func initTransactionAsync(displayAmount: Bool, amount: Amount?) throws
  • Activate a communication session between the ECR and the terminal.

    Note: Before calling set the print options, POS identifier and manufacturer flags set in the terminal instance.

    Side-Effect: After completing the request updates the features, brands and terminal identifier in the terminal instance. Fetching these information can be disabled if Auto-FetchBrands is disabled in {@link TerminalSettings}.

    Declaration

    Swift

    public func login() throws
  • Activate a communication session between the ECR and the terminal. Asynchronous version of {@link Terminal#login}. Returns immediately and calls {@link TerminalListener#loginCompleted} on all notifiers once finished.

    Note: Before calling set the print options, POS identifier and manufacturer flags properties in the terminal instance.

    Side-Effect: After completing the request updates the features, brands and terminal identifier is set in the terminal instance. Fetching these information can be disabled with Auto-FetchBrands in {@link TerminalSettings}.

    Declaration

    Swift

    public func loginAsync() throws
  • Terminates an active communication session between the ECR and the terminal.

    Declaration

    Swift

    public func logout() throws
  • Terminates an active communication session between the ECR and the terminal. Asynchronous version of {@link Terminal#logout}. Returns immediately and calls {@link TerminalListener#logoutCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func logoutAsync() throws
  • Force the EFT Terminal to reboot.

    Declaration

    Swift

    public func reboot() throws
  • Force the EFT Terminal to reboot. Asynchronous version of {@link Terminal#reboot}. Returns immediately and calls {@link TerminalListener#rebootCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func rebootAsync() throws
  • Force the EFT Terminal to transmit all financial transactions to the host system.

    Declaration

    Swift

    public func reconciliation() throws -> ReconciliationResponse
  • Force the EFT Terminal to transmit all financial transactions to the host system. Asynchronous version of {@link Terminal#reconciliation}. Returns immediately and calls {@link TerminalListener#reconciliationCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func reconciliationAsync() throws
  • Receive the latest receipt or a list of silent receipts. @param type Type of receipts to request from the EFT Terminal.

    Declaration

    Swift

    public func receiptRequest(type: CReceiptRequestType) throws -> ReceiptRequestResponse
  • Receive the latest receipt or a list of silent receipts. Asynchronous version of {@link Terminal#receiptRequest}. Returns immediately and calls {@link TerminalListener#receiptRequestCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func receiptRequestAsync(type: CReceiptRequestType) throws
  • Force the EFT Terminal to get the configuration from the service center.

    Declaration

    Swift

    public func reconfig() throws -> PrintData
  • Force the EFT Terminal to get the configuration from the service center. Asynchronous version of {@link Terminal#reconfig}. Returns immediately and calls {@link TerminalListener#reconfigCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func reconfigAsync() throws
  • Prevents a transaction from being committed to the transaction log and generates a technical reversal of the authorization. For payment protocols supporting the function a declined receipt may be generated.

    Declaration

    Swift

    public func rollback() throws -> PrintData
  • Prevents a transaction from being committed to the transaction log and generates a technical reversal of the authorization. For payment protocols supporting the function a declined receipt may be generated. Asynchronous version of {@link Terminal#rollback}. Returns immediately and calls {@link TerminalListener#rollbackCompleted} on all notifiers once finished.

    Declaration

    Swift

    public func rollbackAsync() throws
  • Force the EFT Terminal to start a Software Update.

    Declaration

    Swift

    public func softwareUpdate() throws -> CUpdateStatus
  • Force the EFT Terminal to start a Software Update.

    Declaration

    Swift

    public func softwareUpdateAsync() throws
  • Request system information from the EFT Terminal.

    Note: Set EcrData property before calling SystemInformation.

    Declaration

    Swift

    public func systemInformation() throws -> SystemInformationResponse
  • Request system information from the EFT Terminal. Asynchronous version of {@link Terminal#systemInformation}. Returns immediately and calls {@link TerminalListener#systemInformationCompleted} on all notifiers once finished.

    Note: Set EcrData property before calling SystemInformation.

    Declaration

    Swift

    public func systemInformationAsync() throws
  • Starts an EFT Terminal Transaction.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    @param type Financial Transaction Function. @param amount Transaction amount.

    Declaration

    Swift

    public func transaction(type: CTransactionType, amount: Amount?) throws -> TransactionResponse
  • Starts an EFT Terminal Transaction.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    @param type Financial Transaction Function. @param request Transaction parameters without using TransactionRequest property.

    Declaration

    Swift

    public func transaction(type: CTransactionType, request: TransactionRequest) throws -> TransactionResponse
  • Starts an EFT Terminal Transaction. Asynchronous version of {@link Terminal#transaction}. Returns immediately and calls {@link TerminalListener#transactionCompleted} on all notifiers once finished.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    @param type Financial Transaction Function. @param amount Transaction amount.

    Declaration

    Swift

    public func transactionAsync(type: CTransactionType, amount: Amount?) throws
  • Starts an EFT Terminal Transaction.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    @param type Financial Transaction Function. @param request Transaction parameters without using TransactionRequest property.

    Declaration

    Swift

    public func transactionAsync(type: CTransactionType, request: TransactionRequest) throws
  • Starts an EFT Terminal Transaction with Tip amount.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    Note: This method is only available if {@link com.six.timapi.constants.Guides#GASTRO} is enabled.

    @param type Financial Transaction Function. @param amount Transaction amount. @param tipAmount Proposed tip amount.

    Declaration

    Swift

    public func transactionTip(type: CTransactionType, amount: Amount?, tipAmount: Amount?) throws -> TransactionResponse
  • Starts an EFT Terminal Transaction. Asynchronous version of {@link Terminal#transaction}. Returns immediately and calls {@link TerminalListener#transactionCompleted} on all notifiers once finished.

    Note: The transaction parameters are taken from TransactionRequest terminal property since those do not change often if at all (default parameters).

    Note: This method is only available if {@link com.six.timapi.constants.Guides#GASTRO} is enabled.

    @param type Financial Transaction Function. @param amount Transaction amount. @param tipAmount Proposed tip amount.

    Declaration

    Swift

    public func transactionTipAsync(type: CTransactionType, amount: Amount?, tipAmount: Amount?) throws
  • Close the shutter of the card reader.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func closeReader() throws
  • Close the shutter of the card reader.

    Asynchronous version of {@link Terminal#closeReader}. Returns immediately and calls {@link TerminalListener#closeReaderCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func closeReaderAsync() throws
  • Open the shutter of the card reader.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func openReader() throws
  • Open the shutter of the card reader.

    Asynchronous version of {@link Terminal#openReader}. Returns immediately and calls {@link TerminalListener#openReaderCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func openReaderAsync() throws
  • Eject a card from the card reader.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func ejectCard() throws
  • Eject a card from the card reader.

    Asynchronous version of {@link Terminal#ejectCard}. Returns immediately and calls {@link TerminalListener#ejectCardCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func ejectCardAsync() throws
  • Opens the maintenance window to the terminal so it can perform collected maintenance requests on its own, without interaction with the ECR. The terminal shall respond immediately to the ECR request whether it is able to handle the request or not.

    If the terminal is able to handle the request, the ECR is free itself to perform maintenance as well or it can monitor the terminal by reading the TerminalStatus notifications.

    It is possible that the connection between ECR and EFT terminal is terminated due to one or multiple reboot processes.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func openMaintenanceWindow() throws
  • Opens the maintenance window to the terminal so it can perform collected maintenance requests on its own, without interaction with the ECR. The terminal shall respond immediately to the ECR request whether it is able to handle the request or not.

    If the terminal is able to handle the request, the ECR is free itself to perform maintenance as well or it can monitor the terminal by reading the TerminalStatus notifications.

    It is possible that the connection between ECR and EFT terminal is terminated due to one or multiple reboot processes.

    Asynchronous version of {@link Terminal#openMaintenanceWindow}. Returns immediately and calls {@link TerminalListener#openMaintenanceWindowCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func openMaintenanceWindowAsync() throws
  • Closes the maintenance window to the terminal so it can perform collected maintenance requests on its own, without interaction with the ECR. The terminal shall respond immediately to the ECR request whether it is able to handle the request or not.

    If the terminal is able to handle the request, the ECR is free itself to perform maintenance as well or it can monitor the terminal by reading the TerminalStatus notifications.

    It is possible that the connection between ECR and EFT terminal is terminated due to one or multiple reboot processes.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func closeMaintenanceWindow() throws
  • Closes the maintenance window to the terminal so it can perform collected maintenance requests on its own, without interaction with the ECR. The terminal shall respond immediately to the ECR request whether it is able to handle the request or not.

    If the terminal is able to handle the request, the ECR is free itself to perform maintenance as well or it can monitor the terminal by reading the TerminalStatus notifications.

    It is possible that the connection between ECR and EFT terminal is terminated due to one or multiple reboot processes.

    Asynchronous version of {@link Terminal#closeMaintenanceWindow}. Returns immediately and calls {@link TerminalListener#closeMaintenanceWindowCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func closeMaintenanceWindowAsync() throws
  • Extends the Commit timeout if the terminal needs additional time before the Commit shall be performed. An example could be on a public transport vending machine: if the machine is printing multiple tickets and this printing action would extend the commit timeout, a HoldCommit notification shall be sent to extend the Commit timeout as well. If the printing action fails after some tickets a partial commit can be performed.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func holdCommit() throws
  • Activate service menu.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func activateServiceMenu() throws
  • Activate service menu.

    Asynchronous version of {@link Terminal#activateServiceMenu}. Returns immediately and calls {@link TerminalListener#activateServiceMenuCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func activateServiceMenuAsync() throws
  • Amount adjustment request.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#UNATTENDED} is enabled.

    Declaration

    Swift

    public func amtAdjustment(amount: Amount) throws
  • Open dialog mode on the terminal.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func openDialogMode() throws
  • Open dialog mode on the terminal.

    Asynchronous version of {@link Terminal#openDialogMode}. Returns immediately and calls {@link TerminalListener#openDialogModeCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func openDialogModeAsync() throws
  • Close dialog mode on the terminal.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func closeDialogMode() throws
  • Close dialog mode on the terminal.

    Asynchronous version of {@link Terminal#closeDialogMode}. Returns immediately and calls {@link TerminalListener#closeDialogModeCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func closeDialogModeAsync() throws
  • Show signature capture on the terminal.

    Can be called only if dialog mode is open.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func showSignatureCapture(request: ShowSignatureCaptureRequest) throws -> ShowSignatureCaptureResponse
  • Show signature capture on the terminal.

    Asynchronous version of {@link Terminal#showSignatureCapture}. Returns immediately and calls {@link TerminalListener#showSignatureCaptureCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func showSignatureCaptureAsync(request: ShowSignatureCaptureRequest) throws
  • Show dialog on the terminal.

    Can be called only if dialog mode is open.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func showDialog(request: ShowDialogRequest) throws -> ShowDialogResponse
  • Show dialog on the terminal.

    Asynchronous version of {@link Terminal#showDialog}. Returns immediately and calls {@link TerminalListener#showDialogCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#DIALOG} is enabled.

    Declaration

    Swift

    public func showDialogAsync(request: ShowDialogRequest) throws
  • Send card command to card.

    Can be called only if dialog mode is open.

    Note: This method is only available if .dialog guide is enabled.

    Declaration

    Swift

    public func sendCardCommand(requests: [CommandRequest]) throws -> [CommandResponse]
  • Send card command to card.

    Asynchronous version of {@link Terminal#sendCardCommand}. Returns immediately and calls {@link TerminalListener#sendCardCommandCompleted} on all notifiers once finished.

    Note: This method is only available if .dialog guide is enabled.

    Declaration

    Swift

    public func sendCardCommandAsync(requests: [CommandRequest]) throws
  • Get information about the current account balance of the inserted card.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#ADVANCED_RETAIL} is enabled.

    Declaration

    Swift

    public func balanceInquiry() throws -> BalanceInquiryResponse
  • Get information about the current account balance of the inserted card.

    Asynchronous version of {@link Terminal#balanceInquiry}. Returns immediately and calls {@link TerminalListener#balanceInquiryCompleted} on all notifiers once finished.

    Note: This method is only available if {@link com.six.timapi.constants.Guides#ADVANCED_RETAIL} is enabled.

    Declaration

    Swift

    public func balanceInquiryAsync() throws
  • The RequestAlias-function is used to request a Saferpay Alias for Alias-based transactions. Saferpay offers these kind of transactions which can be performed only using a secure Alias that can be created out of card information from a precious transaction. This Alias then can be used to perform a transaction without having the same card present.

    An Alias can be used for the following transactions:

    • Purchase
    • Credit
    • Reservation
    • Recurring

    @param sixTransRef The SIX omni channel reference number. @returns The Alias created by Saferpay.

    Declaration

    Swift

    public func requestAlias(sixTransRef: String) throws -> String
  • The RequestAlias-function is used to request a Saferpay Alias for Alias-based transactions. Saferpay offers these kind of transactions which can be performed only using a secure Alias that can be created out of card information from a precious transaction. This Alias then can be used to perform a transaction without having the same card present.

    An Alias can be used for the following transactions:

    • Purchase
    • Credit
    • Reservation
    • Recurring

    Asynchronous version of {@link Terminal#requestAlias}. Returns immediately and calls {@link TerminalListener#requestAliasCompleted} on all notifiers once finished.

    @param sixTransRef The SIX omni channel reference number.

    Declaration

    Swift

    public func requestAliasAsync(sixTransRef: String) throws
  • Register listener. @throws IllegalArgumentException listener is null. @throws IllegalArgumentException listener is registered.

    Declaration

    Swift

    public func addListener(listener: TerminalListener)
  • Unregister listener. @throws IllegalArgumentException listener is null. @throws IllegalArgumentException listener is not registered.

    Declaration

    Swift

    public func removeListener(listener: TerminalListener)
  • Dcc is available.

    Declaration

    Swift

    public func canDcc() -> Bool
  • Declined receipts is available.

    Declaration

    Swift

    public func canDeclinedReceipts() -> Bool
  • Multi account selection is available.

    Declaration

    Swift

    public func canMultiAccountSelection() -> Bool
  • Software update is available.

    Declaration

    Swift

    public func hasSwUpdate() -> Bool
  • Terminal settings.

    Declaration

    Swift

    public private(set) var settings: TerminalSettingsImmutable!
  • POS identifier.

    Declaration

    Swift

    public var posId: String { get set }
  • User identifier.

    Declaration

    Swift

    public var userId: Int { get set }
  • ECR Data.

    Declaration

    Swift

    public var ecrData: [EcrInfo] { get set }
  • Add ECR data replacing existing one if present. To remove elements use ecrData property instead.

    Declaration

    Swift

    public func addEcrData(ecrInfo: EcrInfo)
  • Print options.

    Declaration

    Swift

    public var printOptions: [PrintOption] { get set }
  • Merchant options.

    Declaration

    Swift

    public var merchantOptions: [CMerchantOptionType : String] { get set }
  • Transaction data to use for transaction requests unless overwritten in {@link #transaction(TransactionType, TransactionRequest)} or {@link #transactionAsync(TransactionType, TransactionRequest)}.

    Declaration

    Swift

    public var transactionData: TransactionData { get set }
  • Receipt formatter.

    Declaration

    Swift

    public var receiptFormatter: ReceiptFormatter
  • Get terminal status.

    Declaration

    Swift

    public var terminalStatus: TerminalStatus { get }
  • Get brands or nil if not retrieved yet.

    Declaration

    Swift

    public var brands: [Brands]? { get }
  • Get features or nil if not retrieved yet.

    Declaration

    Swift

    public var features: Features? { get }
  • Activation sequence counter.

    Declaration

    Swift

    public var actSeqCounter: Int { get }
  • Get configuration data or nil if not retrieved yet.

    Declaration

    Swift

    public var configData: ConfigData? { get }
  • Logger name for entire tim api package.

    Declaration

    Swift

    public static let loggerNameModule: String
  • Logger name for class.

    Declaration

    Swift

    public static let loggerName: String
  • Terminal identifier of connected terminal. Returns empty string if the terminal identifier is not known. The terminal identifier is available after logging in to the terminal. The terminal identifier obtained from the terminal is potentially different from the terminal identifier set in the {@link TerminalSettings}. This is especially true if {@link ConnectionMode#ON_FIX_IP} is used.

    Declaration

    Swift

    public var terminalId: String { get set }
  • String representation for debugging purpose.

    Declaration

    Swift

    public var description: String { get }