API Reference

Last updated: 2026-05-20

API Reference

The EPAS wrappers expose a large shared surface area. The integration guides cover end-to-end workflows, while this page focuses on the concrete API objects developers typically look for when implementing, debugging, or mapping wrapper parity.

This page is curated rather than generated. It covers the common and high-value API surface across wrappers and calls out where .NET, Java, and Swift use different naming or structure.

Use the companion reference pages when you need lower-level lookup detail:

Core Client APIs

Connection and Session

Concept.NETJavaSwift
Create clientnew EpasClient(app)new EpasClient(app)EpasClient(delegate:)
ConnectConnectNetwork(...)connectNetwork(...)connect(_:)
DisconnectDisconnect()disconnect()disconnect()
LoginLogin(...)login(...)login(_:)
LogoutLogout(...)logout()logout()
Statusstatus handlersstatus handlersstatus()

Transactions

Concept.NETJavaSwift
PurchasePurchase(...)purchase(...)purchase(...)
Purchase before amountPurchaseBeforeAmount(...)purchaseBeforeAmount()purchaseBeforeAmount()
Send amountsSendPurchaseAmounts(...)sendPurchaseAmounts(...)sendPurchaseAmounts(_:)
RefundRefund(...)refund(...)refund(...)
ReversalReverseLastTransaction(...)reversal(...)reverseLastTransaction(...)
Cash advanceCashAdvance(...)cashAdvance(...)cashAdvance(_:)
Last transactionGetLastTransaction(...)getLastTransaction(...)getLastTransaction(_:)
AbortRequestTransactionAbort()requestTransactionAbort()abort()

Terminal Control and Diagnostics

Concept.NETJavaSwift
Enable readersEnableCardReaders(...)enableCardReaders(...)enableCardReaders(_:_:)
Administrative operationadmin operation requestadmin operation requestrequestAdministrativeOperation(_:)
Raw XMLSendRawXml(...)sendRawXml(...), sendRawXmlWithResult(...)sendRawXml(_:)
Customer inquirySendCustomerInquiry(...), AbortCustomerInquiry()sendCustomerInquiry(...), abortCustomerInquiry()sendCustomerInquiry(...), abortCustomerInquiry()
Print requestPrint(...)requestPrint(...)requestPrint(...)
Log-file helpersCleanAllLogFiles(), StartNewLogFile(), StopLogFileTemporarily()cleanAllLogFiles(), startNewLogFile(), stopLogFileTemporarily()cleanAllLogFiles(), startNewLogFile(), stopLogFileTemporarily()
Log-part controlsnoneenableLogPart(...), disableLogPart(...), enableAllLogParts(), disableAllLogParts()enableLogPart(_:), disableLogPart(_:), enableAllLogParts(), disableAllLogParts()

Core Request and Response Models

Shared Core Models

ModelPurpose
TerminalNetworkConnectionTerminal IP endpoint, port, and keepalive preference.
TerminalEnvironmentLogin context including terminal ID, workstation, operator, language, and backend hosts.
PurchaseTransactionAmountsPurchase amount, cashback, and related numeric transaction data.
PurchaseRequestFull purchase request including amount, payment method, MCC, and optional terminal override.
RefundRequestRefund amount plus alternative payment method and original reference where needed.
TransactionResponseFinal transaction business outcome.
LoginResponseLogin result and terminal feature information.
LogoutResponseLogout result.
EnableReadersResponseResult of opening or closing terminal card readers.
AdminResponseResult of administrative operations such as host login or parameter update.
LastTransactionResponseTerminal-provided details for the most recent transaction.
ReceiptDataStructured receipt model used in receipt callbacks.

Swift-Specific Compatibility Types

The Swift wrapper preserves the conceptual model but adapts it to Apple conventions.

Swift typePurpose
ClientStatusSnapshot of connection, login, busy state, card state, and terminal ID.
BooleanCallbackResulthandled + value result for yes/no callbacks.
TextCallbackResulthandled + value result for text-entry callbacks.
DecimalCallbackResulthandled + value result for amount-entry callbacks.
EpasClientErrorSwift error wrapper for API results, terminal rejection, and invalid client state.

Important Enums and Constants

Cross-Wrapper Operational Enums

TypePurposeNotes
ApiResultCommunication and library-level result code.Not the same as payment approval.
ErrorConditions / ErrorConditionTerminal-side business or protocol error classification..NET and Java use ErrorConditions; Swift uses ErrorCondition.
TransactionTypePurchase, refund, reversal, cash advance, and related transaction categories.Used in transaction history and receipt contexts.
ServiceEnableTypeReader opening mode such as payment or refund.Used with reader control APIs.
AdminOperationTerminal administrative action to request.Examples: host login, print configuration, parameter update.
ReceiptVersionMerchant vs cardholder receipt copy.Used by receipt callbacks and receipt history.
TransactionOutcomeApproved, declined, cancelled, and related receipt outcome classification.Primarily receipt-facing.

Receipt and Card Interpretation Enums

These are especially relevant when printing receipts, auditing card usage, or mapping last-transaction data.

TypePresent inPurpose
EntryMethod.NET, JavaHow the card was presented, for example chip, swipe, manual, or contactless.
VerificationMethod.NET, JavaCardholder verification method such as signature, online PIN, offline PIN, consumer device, or no CVM.
AuthorisationChannel.NET, JavaWhether authorisation was online, offline, by phone, or not performed.
AuthorisingEntity.NET, JavaWhich party approved or declined the transaction.
CurrencyCodesJava, .NET conceptsOperating or transaction currency selection.

These types are especially important for advanced reporting, receipt presentation, and support tooling. If you need the fuller language-specific wrapper deliveries, use Library Downloads.

Configuration and Operating Parameters

The wrappers also expose transaction-environment and operating-parameter settings that influence runtime behaviour.

TypeTypical fields or purpose
OperatingParametersCurrency, tipping, wait-for-card-removal, log storage, keepalive tuning, and related client behaviour.
CardAcceptedEventArgsMasked card details delivered when the terminal accepts a card.

These are particularly important when building operator-facing sample applications or diagnostics tools.

Callback Contracts

The callback model is a major part of the public API surface.

Core operational callbacks

  • display cashier text
  • print receipt
  • print report
  • verify signature
  • handle voice referral
  • request payment code
  • request VAT amount
  • react to loyalty card presentation
  • check DCC status on original transaction
  • allow or defer parameter download
  • receive log entries

Status and notification callbacks

  • link status changed
  • terminal busy state changed
  • card inserted or removed
  • card accepted
  • raw EPAS message received

See Client Callbacks for behavioural guidance and callback examples.

How to Read Wrapper Parity

The wrappers aim to keep the same business concepts, but some names differ:

  • .NET often uses PascalCase methods and out parameters
  • Java often returns Pair<ApiResult, T>
  • Swift uses camelCase, async or await, and throws

When the same concept appears with slightly different names, treat the integration flow as the authoritative parity target and the language surface as the language adaptation.

Full Wrapper Deliveries

The current portal pages are intentionally curated and integration-focused. If you need the fuller wrapper deliveries for .NET, Java, or Swift, use Library Downloads.