Introduction
In order to offer a future-proven interface for transactions initiated on a physical terminal, Fiserv has introduced the NEXO interface (also called EPAS interface within Fiserv) which is based on the ISO20022 XML standard.
For an Overview about NEXO please refer to http://www.nexo-standards.org/.
Fiserv supports the following NEXO standards:
- NEXO IS v4.0 provides how to integrate the nexo Specifications and Protocols with a compliant nexo FAST payment application.
- NEXO Acquirer Protocol v6 defines the communication between Terminal connector/host
and authorization host or card acceptor (in our case: the Fiserv gateway). - NEXO TMS Protocol defines the framework for configuring, managing and maintaining the application parameters, the software and the security keys of a payment system.
- NEXO Retailer Protocol defines the communication between electronic cashier system
(ECR) and Terminal connector/host. - NEXO Fast (3.2) defines processes and workflows, user interaction (such as interfaces and receipt printing) and error handling among the various systems that are involved during payment processing.
This guide focuses on the integration of a POS Host to Fiserv’s payment gateway via NEXO Acquirer Protocol.
Most important documents that are needed to build the interface on your host:
CAPE - Acceptor to Acquirer - Maintenance 2016 -2017
Message Definition Report - Part 2
(Approved by the ISO 20022 Cards SEG on 10 May 2017)
Download complete message set (external link)CAPE - Card Payments - Message Usage Guide
Version 6.0 (4 December 2017)
Download the MUG (external link)nexo-FAST Part 1_V3.2_180528.pdf
Download the NEXO FAST specification (external link)ISO20022: website of iso20022.org
(NON FISERV) (e.g. for version 6 of the Acquirer protocol)Within the NEXO archive you will also find other useful resources.
In order to access the NEXO-standards webpage you will need to create a free account.
Messaging
Single vs dual message mode
Fiserv currently only supports single messaging service/mode (SMS, capture in authorization request)
NEXO dual message and batch mode are not supported as of now.
Supported NEXO Cases
The NEXO acquirer message usage guide defines the use cases that terminal vendors need or can implement (See MUG V5.0/6.0, chapter 5.2 and 5.4). Below is a list of the payment cases supported by Fiserv.
Payment Cases
Business scenario | Cases as per NEXO MUG | Note |
---|---|---|
Online authorized sale, linked refund or credit | 1, 12, 22 | Use Acceptor Authorisation Request |
Technical reversal following an incident after auth. (Auto reversal) | 6, 32, 38 | Use Acceptor Completion Advice (negative completion) |
Offline authorized sale | 47, 50 | Use Acceptor Authorisation Request TBC: do we need this comment from WKR? "i.e. for offline declines no message (AcceptorCompletionAdvice ) will be sent. ExchangeIdentification has to be ascending (but gaps allowed)" |
Cancellation Cases
Business scenario | Cases as per NEXO MUG | Note |
---|---|---|
Manual reversal | 1, 5 | Use Acceptor Cancellation Advice |
Transaction Types
Type | Available functions | NEXO message | Description |
---|---|---|---|
payment (aka purchase or sale) | Gratuity/Tip, DCC, MO/TO, Cashback, Token generation, Credential-On-File Transaction | Online: caaa.001.001.06 / caaa.002.001.06 Hdr/MsgFctn = FAUQTx/TxCaptr = TrueTx/TxTp = CRDPOffline: caaa.003.001.06 / caaa.004.001.06 Hdr/MsgFctn = FCMVTx/TxCaptr = trueTx/TxTp = CRDPTx/OrgnlTx not setTx/TxSucss = trueTx/Rvsl = false (or not set) | The most common transaction to trigger a payment. |
pre-authorisation (aka reservation) | DCC, MO/TO, Token generation, Credential-On-File Transaction | caaa.001.001.06 / caaa.002.001.06Hdr/MsgFctn = AUTQTx/TxTp = RESATx/TxCaptr = falseTx/TxTp = DEFR or RESATx/TxDtls/AmtQlfr = RSED | To perform an initial reservation of an amount on cardholder account |
pre-authorisation cancelation (aka reservation reversal) | - | caaa.003.001.06 / caaa.004.001.06Hdr/MsgFctn = RVRA/RVRRTx/TxTp = RESATx/SvcAttr = IRES | |
pre-authorisation update (aka reservation update) | - | caaa.001.001.06 / caaa.002.001.06Tx/TxTp = RESATx/SvcAttr = URESTx/TxCaptr = falseTx/TxDtls/AmtQlfr = INCR or DECR | To perform a preauthorization increment or decrement |
pre-authorisation completion (aka post-authorization, reservation completion, payment for completion) | - | caaa.003.001.06 / caaa.004.001.06Hdr/MsgFctn = FCMV/FCMKTx/TxCaptr = trueTx/TxTp = RESATx/OrgnlTx setTx/TxSucss = trueTx/Rvsl = false (or not set)Tx/TxDtls/AmtQlfr = ACTL | to complete a reservation |
pre-authorisation completion cancelation (aka reversal of post-authorisation) | - | caaa.007.001.06 / caaa.008.001.06Hdr/MsgFctn = RVRA/RVRRTx/TxTp = RESATx/SvcAttr = PRESTx/SaleRefId = Pre-authorization ID returned by IPG in original pre-authorization response | to reverse a completed reservation before settlement |
reversal (aka void, cancellation) | - | caaa.007.001.06 / caaa.008.001.06Hdr/MsgFctn = CCAVTx/FailrRsn not set | To manually cancel a transaction before settlement. Can only be performed with full amount. |
technical reversal (aka auto void) | - | caaa.007.001.06 / caaa.008.001.06Hdr/MsgFctn = CCAV Tx/FailrRsn setor caaa.003.001.06 / caaa.004.001.06 Hdr/MsgFctn = FRVATx/Rvsl = true | To trigger a technical cancellation of transaction |
return (aka linked refund) | - | caaa.001.001.06 / caaa.002.001.06Hdr/MsgFctn = FAUQTx/TxCaptr = trueTx/TxTp = RFNDTx/OrgnlTx set | To return an amount to the customer. Must be used, instead of void, if the settlement is already done. |
credit (aka naked refund) | - | caaa.001.001.06 / caaa.002.001.06Hdr/MsgFctn = FAUQTx/TxCaptr = trueTx/TxTp = RFND` Tx/OrgnlTx not set | To refund the cardholder for previously paid goods and services. It is not matched against the previous payment transaction, so the amount can be either full or partial. |
Balance inquiry | - | caaa.001.001.06 / caaa.002.001.06Hdr/MsgFctn = AUTQTx/TxCaptr = falseTx/TxTp = BALC | To check the amount which is currently reserved |
Deferred Payment Completion | - | caaa.003.001.06 / caaa.004.001.06Hdr/MsgFctn = FCMV/FCMKTx/TxTp = DEFRTx/TxDtls/AmtQlfr = ACTL | |
MOTO (aka mobile order / phone order) | - | caaa.001.001.06 / caaa.002.001.06Cntxt/PmtCntxt/CardPres = FalseCntxt/PmtCntxt/CrdhldrPres = falseCntxt/PmtCntxt/CardDataNtryMd = PHYS | To perform a manually keyed transactions where neither card nor cardholder is present and card data was sent via mail or phone |
Reconciliation | - | caaa.009.001.06 / caaa.010.001.05Hdr/MsgFctn = RCLQTx/ClsPrd = true/false | To compare totals between terminal and our gateway. Can be done daily or less frequent. Can also be used to close the reconciliation period. |
Dcc inquiry (aka rate request inquiry) | - | caaa.016.001.04 / caaa.017.001.04Hdr/MsgFctn = DCCQ | To request a DCC rate and amount |
Card validation (aka card verification, zero amount transaction) | - | caaa.001.001.06 / caaa.002.001.06Hdr/MsgFctn = AUTQTx/TxCaptr = falseTx/TxTp = VALCTx/TxDtls/TtlAmt = 0 | To tokenize or verify card details |
Echo (aka diagnostic message) | - | caaa.013Hdr/MsgFctn =DGNP |
Updated 3 months ago