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)

CAPE - Card Payments - Message Usage Guide
Version 6.0 (4 December 2017)

ISO20022: website of iso20022.org
(NON FISERV) (e.g. for version 6 of the Acquirer protocol)

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 is 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 scenarioCases as per NEXO MUGNote
Online authorized sale, linked refund or credit1, 12, 22Use Acceptor Authorisation Request
Technical reversal following an incident after auth.
(Auto reversal)
6, 32, 38Use Acceptor Completion Advice
(negative completion)
Offline authorized sale47, 50Use 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 scenarioCases as per NEXO MUGNote
Manual reversal1, 5Use Acceptor Cancellation Advice

Transaction Types

TypeAvailable functions NEXO messageDescription
payment
(aka purchase or sale)
Gratuity/Tip, DCC, MO/TO, Cashback, Token generation, Credential-On-File TransactionOnline:
caaa.001.001.06 / caaa.002.001.06
Hdr/MsgFctn = FAUQ
Tx/TxCaptr = True
Tx/TxTp = CRDP

Offline:
caaa.003.001.06 / caaa.004.001.06
Hdr/MsgFctn = FCMV
Tx/TxCaptr= true
Tx/TxTp = CRDP
Tx/OrgnlTxnot set
Tx/TxSucss = true
Tx/Rvsl = false (or not set)
The most common
transaction to trigger a
payment.
pre-authorization
(aka reservation)
DCC, MO/TO, Token generation, Credential-On-File Transactioncaaa.001.001.06 / caaa.002.001.06
Hdr/MsgFctn = AUTQ
Tx/TxTp = RESA
Tx/TxCaptr = false
Tx/TxTp = DEFR or RESA
Tx/TxDtls/AmtQlfr = RSED
To perform an initial reservation of an amount on cardholder account
pre-authorization cancelation
(aka reservation reversal)
-caaa.003.001.06 / caaa.004.001.06
Hdr/MsgFctn = RVRA/RVRR
Tx/TxTp = RESA
Tx/SvcAttr = IRES
pre-authorization update
(aka reservation update)
-caaa.001.001.06 / caaa.002.001.06
Tx/TxTp = RESA
Tx/SvcAttr = URES
Tx/TxCaptr = false
Tx/TxDtls/AmtQlfr = INCR or DECR
To perform a preauthorization increment or decrement
pre-authorization completion
(aka post-authorization, reservation
completion,
payment for
completion)
-caaa.003.001.06 / caaa.004.001.06
Hdr/MsgFctn = FCMV/FCMK
Tx/TxCaptr = true
Tx/TxTp = RESA
Tx/OrgnlTx set
Tx/TxSucss = true
Tx/Rvsl = false (or not set)
Tx/TxDtls/AmtQlfr = ACTL
to complete a
reservation
pre-authorization completion cancelation
(aka reversal of post-authorization)
-caaa.007.001.06 / caaa.008.001.06
Hdr/MsgFctn = RVRA/RVRR
Tx/TxTp = RESA
Tx/SvcAttr = PRES
Tx/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.06
Hdr/MsgFctn = CCAV
Tx/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.06
Hdr/MsgFctn = CCAV Tx/FailrRsn set

or

caaa.003.001.06 / caaa.004.001.06
Hdr/MsgFctn = FRVA
Tx/Rvsl = true
To trigger a technical
cancellation of
transaction
return
(aka linked refund)
-caaa.001.001.06 / caaa.002.001.06
Hdr/MsgFctn = FAUQ
Tx/TxCaptr = true
Tx/TxTp = RFND
Tx/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.06
Hdr/MsgFctn = FAUQ
Tx/TxCaptr = true
Tx/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.06
Hdr/MsgFctn = AUTQ
Tx/TxCaptr = false
Tx/TxTp = BALC
To check the amount
which is currently
reserved
Deferred Payment Completion-caaa.003.001.06 / caaa.004.001.06
Hdr/MsgFctn = FCMV/FCMK
Tx/TxTp = DEFR
Tx/TxDtls/AmtQlfr = ACTL
MOTO
(aka mobile order / phone order)
-caaa.001.001.06 / caaa.002.001.06
Cntxt/PmtCntxt/CardPres= False
Cntxt/PmtCntxt/CrdhldrPres= false
Cntxt/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.05
Hdr/MsgFctn = RCLQ
Tx/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.04
Hdr/MsgFctn = DCCQ
To request a DCC rate and amount
Card
validation

(aka card verification, zero amount transaction)
-caaa.001.001.06 / caaa.002.001.06
Hdr/MsgFctn = AUTQ
Tx/TxCaptr = false
Tx/TxTp = VALC
Tx/TxDtls/TtlAmt = 0
To tokenize or verify card details
Echo
(aka diagnostic message)
-caaa.013
Hdr/MsgFctn=DGNP