Skip to main content

HiLite vs PAX — Capability Comparison

Handpoint integrations run on two hardware families:

HardwareConnectionForm factorIntegration paths
PAX SmartPOS (A920, A77, etc.)Network / CloudAll-in-one Android terminalCloud REST API, Android PAX SDK, JavaScript SDK, Windows SDK, Cordova (PAX mode)
HiLite (DATECS Bluetooth reader)Bluetooth / LightningCompact Bluetooth/dock reader paired to a phone or tabletAndroid HiLite SDK, iOS HiLite SDK, Cordova (HiLite mode), Windows SDK (BT mode)

HiLite is a subset of PAX capabilities. Every operation available on HiLite is also available on PAX, but not the reverse.


Capability matrix​

Legend: ✅ Supported  ·  ❌ Not supported  ·  ✅* See note

OperationPAX (all paths)Android HiLiteiOS HiLiteCordova (HiLite mode)Notes
Sale✅✅✅✅
Refund✅✅✅✅
Reversal✅✅✅✅Prefer POST /reversal (Back Office, no reader) for all reversals
Tokenization✅✅✅✅
Sale and Tokenize✅✅✅✅
Tip Adjustment✅✅✅*❌*iOS: via HapiRemoteService.tipAdjustment() with sharedSecret. Cordova: unimplemented stub — use Back Office REST API. Remote HTTPS call, not a device command
Multi-MID (MerchantAuth)✅❌✅❌Android HiLite: silently ignored (MerchantAuth never serialized to EFT frames). iOS HiLite: supported. Windows SDK: not implemented (null hardcoded). Cordova: not implemented
Partial Reversal✅*❌❌❌*EPI only. Available via Back Office REST API regardless of integration path
Pre-Authorization✅❌❌❌Initial pre-auth requires PAX terminal. Capture/increase/reversal available via Back Office
MOTO on-terminal (keyed entry)✅❌❌❌HiLite has no keypad. Remote card-token MOTO available via Back Office (EPI/EMP)
stopCurrentTransaction✅❌❌❌Android HiLite: returns false (BluetoothConnection is not AndroidPaymentConnection). iOS: no public cancel method. Cordova HiLite (iOS bridge): empty stub
getTransactionStatus✅❌❌✅*Android HiLite: not in EFT frame protocol. iOS: not in public API. *Cordova PAX mode only
Batch Close✅*❌❌❌*Cloud API / Back Office only (EPI). Not available in any SDK
Money Remittance✅✅✅✅EmerchantPay only
Void (Interac)✅✅✅✅PAYSAFE with Interac enabled only

What Back Office operations can fill the HiLite gaps​

Operations missing from HiLite SDKs can often be performed server-side via the Back Office integration guide with no terminal required:

HiLite gapBack Office solution
No partial reversal on HiLitePOST /reversal with amount + currency (EPI only)
No pre-auth capture on HiLitePOST /preauthorization/capture
No pre-auth increase on HiLitePOST /preauthorization/increase
No Remote Sale on HiLitePOST /moto/sale with card token (EPI, EmerchantPay)
No batch close on HiLitePOST /batch/close
Tip adjustment on iOS (SDK method requires sharedSecret)POST /transactions/{id}/tip-adjustment with ApiKeyCloud

Handpoint recommends using Back Office operations whenever possible — they reduce terminal dependency, eliminate reader failure as a point of failure, and work regardless of which SDK path you are on.


HiLite-specific notes​

Android HiLite​

  • Connection: Bluetooth (auto-reconnect) or direct USB
  • Partial reversal: Not available in SDK — use POST /reversal (Back Office)
  • Pre-auth: Not available at all on HiLite
  • Multi-MID: Supported via MerchantAuth + SaleOptions
  • Tip adjustment: Supported (EPI, PAYSAFE — non-Interac cards only)
  • stopCurrentTransaction: Not supported — ConnectionManager.stopCurrentTransaction() returns false immediately for Bluetooth connections (source-verified in Android SDK ConnectionManager.kt). Do not call it on Android HiLite

iOS HiLite​

  • Connection: Bluetooth or Lightning dock
  • Tip adjustment: Available via HapiRemoteService.tipAdjustment() — calls Handpoint cloud API, not the device. Requires setupHandpointApiConnection(sharedSecret:). Alternatively use Back Office REST API with ApiKeyCloud.
  • Pre-auth: Not in SDK at all — not a stub, not a no-op, simply absent
  • stopCurrentTransaction: Not in the public HeftClient protocol. Use financeStartOfDay to recover a stuck terminal if needed
  • Multi-MID: Fully supported via MerchantAuth with Credential(acquirer:mid:tid:)
  • Acquirer enum values: UNDEFINED, AMEX, BORGUN, EVO, OMNIPAY, POSTBRIDGE, INTERAC, TSYS, VANTIV, SANDBOX

Cordova HiLite mode​

  • Connection: Bluetooth (same as Android HiLite under the hood)
  • Tip adjustment: Supported (EPI, PAYSAFE — non-Interac cards only)
  • Pre-auth: Not supported in HiLite mode — Cordova pre-auth requires PAX mode
  • Multi-MID: Not documented / not confirmed for Cordova HiLite mode

Acquirer-specific HiLite support​

AcquirerSale/Refund/ReversalTip AdjPre-AuthPartial RevMOTO (card token)
EPI✅✅❌❌ (Back Office ✅)❌ (Back Office ✅)
PAYSAFE✅✅ non-Interac only❌❌❌
EmerchantPay✅❌❌❌❌ (Back Office ✅)
Paystrax✅❌❌❌❌

For the full multi-path, multi-acquirer matrix see the Acquirer capabilities matrix.