Skip to main content

Full capabilities matrix

Legend: ✅ = Supported  |  ❌ = Not supported

Capabilities are driven by src/data/acquirerCaps.js — edit that file to update any acquirer; both this page and the individual acquirer Functionalities tables will reflect the change automatically.


Per-acquirer tables​

EPI — US · Canada · VISA MC AMEX Discover

OperationCloud APIAndroid (PAX)Android (HiLite)iOS (HiLite)Cordova (PAX)Cordova (HiLite)JavaScript SDKWindows SDK (PAX)Windows SDK (HiLite BT)REST API (Back Office)Notes
Sale✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Sale with Tip✅✅✅❌✅✅✅✅✅❌Tip collected on-terminal before sale. iOS HiLite does not support on-screen tip collection — use Tip Adjustment after the sale instead.
Refund✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Reversal✅✅✅✅✅✅✅✅✅✅
Partial Reversal✅✅❌❌✅❌❌✅❌✅EPI (US and Canada). Not available on HiLite paths. Use POST /reversal (Back Office) from any path.
Tip Adjustment✅✅✅✅❌❌✅✅✅✅Remote HTTPS call — not a device command. Not available in Cordova plugin (unimplemented stub). iOS SDK: uses HapiRemoteService.tipAdjustment() with sharedSecret; or use Back Office REST API with ApiKeyCloud. Windows SDK: direct HTTPS, works on both PAX and HiLite connections.
Pre-Authorization✅✅❌❌✅❌✅✅❌❌Initial pre-auth requires card-present terminal (PAX). Capture, increase, decrease, and void available via Back Office (no terminal).
Pre-Auth Capture Reversal✅✅❌❌❌❌✅✅❌✅Capture and increase available via Back Office. Pre-settlement only. Partial capture reversal supported.
Remote Sale✅✅❌❌✅❌✅✅❌✅Via PAX screen entry (on-terminal) or Cygma/EPI card token (Back Office, no reader). Keeps ISV and merchant out of PCI scope. Must be enabled in Handpoint Portal (TMS).
Tokenization✅✅✅✅✅✅✅✅✅✅
Batch Operations✅❌❌❌❌❌❌❌❌✅US + Canada. Must be enabled in Handpoint Portal (TMS).

PAYSAFE — US · Canada · VISA MC AMEX Discover Interac

OperationCloud APIAndroid (PAX)Android (HiLite)iOS (HiLite)Cordova (PAX)Cordova (HiLite)JavaScript SDKWindows SDK (PAX)Windows SDK (HiLite BT)REST API (Back Office)Paysafe PortalNotes
Sale✅✅✅✅✅✅✅✅✅❌❌Card must be read by terminal.
Sale with Tip✅✅✅❌✅✅✅✅✅❌❌Tip collected on-terminal before sale. iOS HiLite does not support on-screen tip collection — use Tip Adjustment after the sale instead. Not applicable to Interac transactions.
Refund✅✅✅✅✅✅✅✅✅❌✅Interac cards: not available via Handpoint SDK. Paysafe Portal: CNP refund — see note below.
Reversal✅✅✅✅✅✅✅✅✅✅❌Interac cards: not supported — use Void instead.
Partial Reversal❌❌❌❌❌❌❌❌❌❌❌Not supported — Paysafe restriction.
Tip Adjustment✅✅✅✅❌❌✅✅✅✅❌Not applicable to Interac card transactions (Interac supports Sale and Void only). Not available in Cordova plugin (unimplemented stub).
Pre-Authorization❌❌❌❌❌❌❌❌❌❌❌Not supported — Paysafe restriction.
Remote Sale❌❌❌❌❌❌❌❌❌❌❌Not supported — Paysafe restriction.
Tokenization✅✅✅✅✅✅✅✅✅❌❌Supported across all markets. Interac tokenization assumed supported — verify per merchant.
Batch Operations❌❌❌❌❌❌❌❌❌❌❌Not supported by PAYSAFE. Batch operations are EPI only.
Void✅✅✅✅✅✅✅✅✅❌❌Interac cards only. Card must be physically present at terminal. Label as VOID in ISV UI — not Refund or Reversal.
Paysafe Portal refund: Use eftTransactionID from TransactionResult as Paysafe's MerchantRefNum. Wait 24h for settlement, retrieve the auth by MerchantRefNum, then submit the refund using Paysafe's TXN ID. Processed directly via the Paysafe Cards API — Handpoint has no record of portal-processed transactions.

EmerchantPay — EU · VISA MC AMEX UnionPay

OperationCloud APIAndroid (PAX)Android (HiLite)iOS (HiLite)Cordova (PAX)Cordova (HiLite)JavaScript SDKWindows SDK (PAX)Windows SDK (HiLite BT)REST API (Back Office)Notes
Sale✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Sale with Tip✅✅✅❌✅✅✅✅✅❌Tip collected on-terminal before sale. iOS HiLite does not support on-screen tip collection — use Tip Adjustment after the sale instead.
Refund✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Reversal✅✅✅✅✅✅✅✅✅✅
Partial Reversal❌❌❌❌❌❌❌❌❌❌
Pre-Authorization✅✅❌❌✅❌✅✅❌❌Initial pre-auth requires card-present terminal (PAX). Includes increase/decrease, capture, void hold.
Pre-Auth Capture Reversal✅✅❌❌❌❌✅✅❌✅Increase/decrease and capture available via Back Office.
Remote Sale✅✅❌❌✅❌✅✅❌❌Via PAX screen entry (on-terminal) or card token (Back Office, no reader). Must be enabled by Handpoint. Back-office remote card-token sale not available for EmerchantPay.
Tokenization✅✅✅✅✅✅✅✅✅❌
Money Remittance✅✅✅✅✅✅✅✅✅❌AMEX routing: separate MID required.

Paystrax — EU · VISA MC AMEX UnionPay

OperationCloud APIAndroid (PAX)Android (HiLite)iOS (HiLite)Cordova (PAX)Cordova (HiLite)JavaScript SDKWindows SDK (PAX)Windows SDK (HiLite BT)REST API (Back Office)Notes
Sale✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Sale with Tip✅✅✅❌✅✅✅✅✅❌Tip collected on-terminal before sale. iOS HiLite does not support on-screen tip collection — use Tip Adjustment after the sale instead.
Refund✅✅✅✅✅✅✅✅✅❌Card must be read by terminal.
Reversal✅✅✅✅✅✅✅✅✅✅
Partial Reversal❌❌❌❌❌❌❌❌❌❌
Pre-Authorization✅✅❌❌✅❌✅✅❌❌Initial pre-auth requires card-present terminal (PAX). Includes increase/decrease, capture, void hold.
Pre-Auth Capture Reversal✅✅❌❌❌❌✅✅❌✅Increase/decrease and capture available via Back Office.
Remote Sale✅✅❌❌✅❌✅✅❌❌On-terminal keyed entry (PAX screen) only — remote card-token sale not supported for Paystrax. Back-office linked MOTO refund and reversal (via POST /reversal) are supported; use POST /reversal rather than moto/reversal endpoint. Must be enabled by Handpoint.
Tokenization✅✅✅✅✅✅✅✅✅❌

Cross-acquirer summary​

OperationEPIPAYSAFEEmerchantPayPaystrax
Sale✅✅✅✅
Sale with Tip✅✅✅✅
Refund✅✅✅✅
Reversal✅✅✅✅
Partial Reversal✅❌❌❌
Tip Adjustment✅✅❌❌
Pre-Authorization✅❌✅✅
Pre-Auth Capture Reversal✅❌✅✅
Remote Sale✅❌✅✅
Tokenization✅✅✅✅
Batch Operations✅❌❌❌
Money Remittance❌❌✅❌
Void❌✅❌❌

¹ EPI partial reversal: available via Cloud API, Android (PAX), and Back Office (REST API). Not supported on Amex transactions.
² Pre-Auth Capture Reversal: EPI + OMNIPAY (EmerchantPay, Paystrax). Cloud API + Android (PAX) for card-present; also via Back Office for increase/decrease and capture (initial pre-auth must be card-present). EPI also supports partial capture reversal.
³ Void: PAYSAFE — Interac cards only, card must be physically present at terminal.


Integration path capabilities​

REST API — integrated mode

REST API card-present operations require a PAX terminal running the Handpoint Android SDK initialised in cloud/integrated mode. The REST API sends commands to the Handpoint Cloud, which forwards them to the terminal. Back Office operations (reversal, tip adjustment, remote sale, pre-auth capture) are a separate capability — no terminal required.

Integration pathCard-present opsRemote SaleBatch OperationsPartial RevNotes
REST API✅ All (PAX in integrated mode required)✅ On-terminal via PAX screen or Cygma token — acquirer-dependent✅ Where acquirer supports✅ EPI onlyPAX debug → .io; PAX prod → .com
Android (PAX)✅ All except batch✅ On-terminal (PAX shows card entry screen) — PAX only❌✅ EPI onlyRuns natively on PAX terminal
Android (HiLite)✅ Sale, refund, reversal, tokenize. Tip adj ✅. Pre-auth ❌❌❌❌BT to HiLite (DATECS); no remote sale/batch/partial rev
iOS (HiLite)✅ Sale, refund, reversal, tokenize. No tip adj❌❌❌BT to HiLite; tip adj not supported on iOS
Cordova✅ Same as Android (PAX) for PAX; same as Android (HiLite) for HiLite❌❌❌Single JS API for both device types
REST API (Back Office)❌ Sale and refund require card-present✅ EPI + OMNIPAY via card token (no reader)✅ EPI only✅ EPI onlyNo terminal required. Reversal ✅ all acquirers. Tip adj ✅ EPI, PAYSAFE (not Interac cards). Pre-auth capture/increase/decrease ✅ EPI + OMNIPAY (initial pre-auth must be card-present).

Card brand support​

The Handpoint platform CardBrand enum (viscus-lib-core) defines these brands: VISA, Mastercard, Maestro, AMEX, Discover, JCB, Diners, UnionPay, Interac.

Card brandWhere confirmed
JCBPlatform supported; acceptance depends on acquirer agreement — verify per merchant
UnionPayOMNIPAY (EmerchantPay, Paystrax) — CardBrandValidator and PayFacIdValidator handle UnionPay separately
InteracPAYSAFE (merchants with Interac enabled)

Other acquirers (EPI, PAYSAFE): JCB and UnionPay acceptance depends on acquirer agreement — verify with integration team per merchant.


Open items​

ItemStatus
JCB on EPI / PAYSAFEPlatform supports it; verify acquirer agreement enables it per merchant
UnionPay on EPIPlatform supports it; verify acquirer agreement
PAYSAFE pre-auth / Remote SaleConfirmed NOT supported — Paysafe acquirer restriction