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:
- Wrapper Parity Matrix
- Enumerations
- Request and Response Models
- Callbacks and Notifications
- Operating Parameters
Core Client APIs
Connection and Session
| Concept | .NET | Java | Swift |
|---|---|---|---|
| Create client | new EpasClient(app) | new EpasClient(app) | EpasClient(delegate:) |
| Connect | ConnectNetwork(...) | connectNetwork(...) | connect(_:) |
| Disconnect | Disconnect() | disconnect() | disconnect() |
| Login | Login(...) | login(...) | login(_:) |
| Logout | Logout(...) | logout() | logout() |
| Status | status handlers | status handlers | status() |
Transactions
| Concept | .NET | Java | Swift |
|---|---|---|---|
| Purchase | Purchase(...) | purchase(...) | purchase(...) |
| Purchase before amount | PurchaseBeforeAmount(...) | purchaseBeforeAmount() | purchaseBeforeAmount() |
| Send amounts | SendPurchaseAmounts(...) | sendPurchaseAmounts(...) | sendPurchaseAmounts(_:) |
| Refund | Refund(...) | refund(...) | refund(...) |
| Reversal | ReverseLastTransaction(...) | reversal(...) | reverseLastTransaction(...) |
| Cash advance | CashAdvance(...) | cashAdvance(...) | cashAdvance(_:) |
| Last transaction | GetLastTransaction(...) | getLastTransaction(...) | getLastTransaction(_:) |
| Abort | RequestTransactionAbort() | requestTransactionAbort() | abort() |
Terminal Control and Diagnostics
| Concept | .NET | Java | Swift |
|---|---|---|---|
| Enable readers | EnableCardReaders(...) | enableCardReaders(...) | enableCardReaders(_:_:) |
| Administrative operation | admin operation request | admin operation request | requestAdministrativeOperation(_:) |
| Raw XML | SendRawXml(...) | sendRawXml(...), sendRawXmlWithResult(...) | sendRawXml(_:) |
| Customer inquiry | SendCustomerInquiry(...), AbortCustomerInquiry() | sendCustomerInquiry(...), abortCustomerInquiry() | sendCustomerInquiry(...), abortCustomerInquiry() |
| Print request | Print(...) | requestPrint(...) | requestPrint(...) |
| Log-file helpers | CleanAllLogFiles(), StartNewLogFile(), StopLogFileTemporarily() | cleanAllLogFiles(), startNewLogFile(), stopLogFileTemporarily() | cleanAllLogFiles(), startNewLogFile(), stopLogFileTemporarily() |
| Log-part controls | none | enableLogPart(...), disableLogPart(...), enableAllLogParts(), disableAllLogParts() | enableLogPart(_:), disableLogPart(_:), enableAllLogParts(), disableAllLogParts() |
Core Request and Response Models
Shared Core Models
| Model | Purpose |
|---|---|
TerminalNetworkConnection | Terminal IP endpoint, port, and keepalive preference. |
TerminalEnvironment | Login context including terminal ID, workstation, operator, language, and backend hosts. |
PurchaseTransactionAmounts | Purchase amount, cashback, and related numeric transaction data. |
PurchaseRequest | Full purchase request including amount, payment method, MCC, and optional terminal override. |
RefundRequest | Refund amount plus alternative payment method and original reference where needed. |
TransactionResponse | Final transaction business outcome. |
LoginResponse | Login result and terminal feature information. |
LogoutResponse | Logout result. |
EnableReadersResponse | Result of opening or closing terminal card readers. |
AdminResponse | Result of administrative operations such as host login or parameter update. |
LastTransactionResponse | Terminal-provided details for the most recent transaction. |
ReceiptData | Structured receipt model used in receipt callbacks. |
Swift-Specific Compatibility Types
The Swift wrapper preserves the conceptual model but adapts it to Apple conventions.
| Swift type | Purpose |
|---|---|
ClientStatus | Snapshot of connection, login, busy state, card state, and terminal ID. |
BooleanCallbackResult | handled + value result for yes/no callbacks. |
TextCallbackResult | handled + value result for text-entry callbacks. |
DecimalCallbackResult | handled + value result for amount-entry callbacks. |
EpasClientError | Swift error wrapper for API results, terminal rejection, and invalid client state. |
Important Enums and Constants
Cross-Wrapper Operational Enums
| Type | Purpose | Notes |
|---|---|---|
ApiResult | Communication and library-level result code. | Not the same as payment approval. |
ErrorConditions / ErrorCondition | Terminal-side business or protocol error classification. | .NET and Java use ErrorConditions; Swift uses ErrorCondition. |
TransactionType | Purchase, refund, reversal, cash advance, and related transaction categories. | Used in transaction history and receipt contexts. |
ServiceEnableType | Reader opening mode such as payment or refund. | Used with reader control APIs. |
AdminOperation | Terminal administrative action to request. | Examples: host login, print configuration, parameter update. |
ReceiptVersion | Merchant vs cardholder receipt copy. | Used by receipt callbacks and receipt history. |
TransactionOutcome | Approved, 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.
| Type | Present in | Purpose |
|---|---|---|
EntryMethod | .NET, Java | How the card was presented, for example chip, swipe, manual, or contactless. |
VerificationMethod | .NET, Java | Cardholder verification method such as signature, online PIN, offline PIN, consumer device, or no CVM. |
AuthorisationChannel | .NET, Java | Whether authorisation was online, offline, by phone, or not performed. |
AuthorisingEntity | .NET, Java | Which party approved or declined the transaction. |
CurrencyCodes | Java, .NET concepts | Operating 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.
| Type | Typical fields or purpose |
|---|---|
OperatingParameters | Currency, tipping, wait-for-card-removal, log storage, keepalive tuning, and related client behaviour. |
CardAcceptedEventArgs | Masked 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
outparameters - Java often returns
Pair<ApiResult, T> - Swift uses camelCase,
asyncorawait, andthrows
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.