Preauthorisation

Preauthorisation (aka reservation)

Initial preauthorisation

Preauthorizations (also referred to as "Initial Reservations") are implemented using AcceptorAuthorisationRequest/Response containing:

TagDescription
Tx/TxTpUse value 'RESA'
Tx/SvcAttrUse value 'IRES'
Tx/SaleRefIdPre-authorisation ID. Dummy value will be sent in request message as it is required in nexo IS and MUG. The Gateway will ignore it and fill it in the response message with the Preauthorisation ID.
Tx/RcptTxIdPreauthorisation ID returned by the Gateway in response message. Will not be set in request message.

Balance inquiry

Balance Enquiry transactions can be optionally triggered before performing Update or Completion of an existing pre-authorization. Balance inquiries are implemented using AcceptorAuthorisationRequest/Response.

Request parameters:

TagDescription
Hdr/MsgFctnUse value 'AUTQ'
Tx/TxTpUse value 'BALC'
Tx/SaleRefIdPreauthorisation ID returned by the Gateway in original preauthorisation response as RecipientTransactionIdentification (Tx/RcptTxId)
Tx/TxCaptrFalse
AddtlTxDataUse value '/SuccessOnCompletedPreauth' if you expect the balance inquiry to be successful in case of a completed preauthorisation or linked refund for a completed preauthorisation

Response parameters:

TagDescription
TxRspn/BalCurrent reserved amount. Will only be included in approved Balance Enquiry responses (when reservation is still valid).
Tx/TxDtls/VldtyDtPreauthorisation expiry date included in approved Balance Enquiry responses
Envt/Card/MskdPANMasked card data used in original preauthorisation will be returned by the Gateway in approved Balance Enquiry responses.
TxRspn/AuthstnRslt/ RspnToAuthstn/AddtlRspnInfKey value pairs containing additional information about the transaction.
Format: key1=value1;key2=value2;....keyn=valuen

Possible keys:

'DCCAccepted' with values 'true' or 'false' - indicates whether dynamic currency conversion was applied or not

'LastTxType' (available in May 2024) with the following values: 'IRES' - initial pre-authorization, 'URES' - preaauthorisation increment or decrement, 'PRES' - postauthorisation/payment after reservation, 'RFND' - refund

Update preauthorisation

Update Preauthoriaations (also referred to as "Update Reservations") are implemented using AcceptorAuthorisationRequest/Response.

🚧

Please note that some authorization systems don't support decrements, only cancellations of previous increments:

  1. preauth +100 EUR
  2. increment + 10 EUR
  3. increment + 20 EUR

For above example allowed decrement amount could be 20, 30 or full void,

Request parameters:

TagDescription
Tx/TxTpUse value 'RESA'
Tx/SvcAttrUse value 'URES'
Tx/SaleRefIdPreauthorisation ID returned by the Gateway in original preauthorisation response as RecipientTransactionIdentification (Tx/RcptTxId)
Tx/TxCaptrFalse
Tx/TxDtls/AmtQlfrUse value 'INCR' for preauthorisation increment
Use value 'DECR' for preauthorisation decrement

Workflow:

Postauthorisation (aka preauthorisation completion)

Payment Completions are implemented using AcceptorCompletionAdvice/Response containing:

TagDescription
Tx/TxTpUse value 'RESA'
Hdr/MsgFctnUse value 'FCMV/FCMK'
Tx/SvcAttrUse value 'PRES'
Tx/SaleRefIdPreauthorisation ID returned by the Gateway in original preauthorisation response as RecipientTransactionIdentification (Tx/RcptTxId)
Tx/TxCaptrTrue
Tx/OrgnlTx contatining:Tx/RcptTxId = Preauthorisation ID returned by the Gateway in original preauthorisation response as RecipientTransactionIdentification (Tx/RcptTxId)

Tx/SaleRefId = Preauthorisation ID returned by the Gateway in original preauthorisation response as Tx/RcptTxId

Tx/TxId = Value sent in original preauthorisation request

Tx/TxTp = RESA

Tx/SvcAttr = IRES

Workflow:

Reservation cancellation

A reservation may be cancelled within its validity period. The reservation cancellation is not a reversal of an individual transaction in the preauthorisation set, it is rather a completely closure of the aggregated reservation, meaning that is does not allow any subsequent related processing for that particular reservation. Terminals should allow triggering a reservation by preauthorisation ID entry, without any additional card data input. The actual cancellation message will be preceded by a Balance Enquiry that will retrieve the reservation details in the same way as they are retrieved for incremental and completion processing. The details around the Balance Enquiry message are presented in section 6.3.2.

Reservation Cancellation is implemented using AcceptorCompletionAdvice/Response containing:

TagDescription
Tx/TxTpUse value 'RESA'
Hdr/MsgFctnUse value 'RVRA/RVRR'
Tx/SvcAttrUse value 'IRES'
Tx/SaleRefIdPre-authorisation ID returned by the Gateway in original preauthorisation response as RecipientTransactionIdentification (Tx/RcptTxId)
Tx/TxCaptrFalse
Tx/OrgnlTxNOT PRESENT
Tx/TxSucssTrue
Tx/RvslTrue
Tx/FailrRsnUse value 'CUCL'
Tx/TxDtls/TtlAmtTotal reserved amount. Value should be retrieved in the preceding Balance Enquiry message.

Completion cancellation

For all financial transactions it is recommended to offer a "Cancel Last" service on the POI. For preauthorisation completion, "Cancel Last" service should bbe combined with a balance inquiry step. This is useful because preauthorisation related transactions can be updated on different devices, so it is always good to perform an inquiry step to retrieve the current status of the reservation. It is needed to make sure that the preauthorisation has not been settled, as in this case the cancellation should not be allowed. Instead, the merchant could initiate a refund and another preauthorisation to hold the requested amount on the cardholder balance.

Possible responses from the Gateway to the inquiry:

  • Open
  • Closed (Captured) - Declined: 50719 (Authorization captured)
  • Settled - Declined: 50730 (Authorization settled)
  • Invalid
  • Expired

Workflow:


Want a quick overview?