Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

In this section:

Definition

A Cancellation is a transaction initiated by an Acceptor to cancel a payment which was successfully completed. The Cancellation service is also known as a Reversal. A Cancellation cannot be revoked.

Reference Documents

  • nexo Card Payment Message Usage Guide

  • nexo-FAST

Processing

The Cancellation service can be performed and processed in three ways:

Offline Cancellation

The Acceptor shall be aware that the transaction was not yet cleared: an AcceptorCancellationAdvice is sent to the Acquirer without an AcceptorCancellationRequest.

Online Cancellation using the transaction log

The Acceptor perform a search of the transaction log.

If the transaction log is found, the Acceptor then asks the Acquirer whether a cancellation can be performed by sending an AcceptorCancellationRequest before sending an AcceptorCancellationAdvice.

The AcceptorCancellationRequest may contain some information of the payment transaction to be cancelled.

Online Cancellation without searching from the log

The Acceptor asks the Acquirer whether a cancellation can be performed by sending an AcceptorCancellationRequest before sending an AcceptorCancellationAdvice.

The AcceptorCancellationRequest may contain some information of the payment transaction to be cancelled.

Online Cancellation Reversal

An Online Cancellation can be reversed in the same way as an online authorization if:

  • Online Cancellation Requests timeouts, or

  • an incident happened after authorization.

Cancellation Advice following a Cancellation Request

An Online Cancellation Request declined by the acquirer will NOT result in Cancellation advice. See the attached picture below for more information.

Configuration

Enable Cancellation Service

To enable the Cancellation Service:

  1. Define the Cancellation Service proprieties in the Service Settings Table (E4).

  2. Add the Cancellation Service in the list of configured service in Terminal Data (E1) using:

    1. 'DF13' - Configured Services[1, 6] = 1b (Cancellation) or

    2. 'DF67' - Configured Services Extended[1, 6] = 1b (Cancellation)

  3. Specify which payment services can be cancelled:

    1. To allow the Cancellation of Payment, set 'DF28' - Application Profile Settings(APS) for Cancellation [1, 8] = 1b (Cancellation of Payment)

    2. To allow the Cancellation of Refund, set 'DF28' - Application Profile Settings(APS) for Cancellation [1, 7] = 1b (Cancellation of Refund)

    3. To allow the Cancellation of Pre-Authorization, set 'DF28' - Application Profile Settings(APS) for Cancellation [1, 6] = 1b (Cancellation of Pre-Authorisation)

    4. To allow the Cancellation of Payment Completion, set 'DF28' - Application Profile Settings(APS) for Cancellation [1, 5] = 1b (Cancellation of Payment Completion)

    5. To allow the Cancellation of Cash Advance, set 'DF28' - Application Profile Settings(APS) for Cancellation [1, 4] = 1b (Cancellation of Cash Advance)

Setting Cancellation processing mode (Offline or Online)

The Cancellation Service processing mode is configurable per Application Profile (E6) using the 'DF28' - Application Profile Settings(APS) for Cancellation.

Offline Cancellation Settings

To enable Offline Cancellation:

  • Set 'DF28' - Application Profile Settings(APS) for Cancellation [2, 8] = 0b (Cancellation shall be performed offline (without Online Approval Request) for transactions that are neither captured nor reconciled) .

  • Set 'DF28' - Application Profile Settings(APS) for Cancellation [2, 6] = 0b (Cancellation shall be performed offline (without Online Approval Request) for captured transactions) .

Offline Cancellation is done through a search in the transaction log. Transaction log Search for Cancellation shall be enabled using 'DF34' - Terminal Settings [3, 7] = 1b.

Online Cancellation Settings

To enable Online Cancellation:

  • Set 'DF28' - Application Profile Settings(APS) for Cancellation [2, 8] = 1b (Cancellation shall be performed with Online Approval Request for transactions that are neither captured nor reconciled) .

  • Set 'DF28' - Application Profile Settings(APS) for Cancellation [2, 6] = 1b (Cancellation shall be performed with Online Approval Request for captured transactions) .

Setting transaction log search for Online Cancellation

Transaction log search is configurable under the 'DF34' - Terminal Settings (Byte 3). Note that the setting will be applicable to all application profiles.

To force Transaction log Search for Online Cancellation, set 'DF34' - Terminal Settings [3, 7] = 1band 'DF34' - Terminal Settings [3, 6] = 0b.

Otherwise, set 'DF34' - Terminal Settings [3, 7] = 0b and 'DF34' - Terminal Settings [3, 6] = 1b.

Arkos API

See Amadis Developers' Guide page on Cancellation Service for more information.

Sequence Diagrams

Standalone POI

Offline Cancellation Transaction Log Found

Offline or Online Cancellation Transaction Log Not Found

Online Cancellation

Connected POI

Offline Cancellation Transaction Log Found

Online Cancellation Transaction Log Found


Online Cancellation without searching from the log

It is to be noted that a slight modification was made to the flow of the latter (Online Cancellation without searching from the log) to help retrieve some Infos; such as AcquirerID, TerminalID, and etc. As it stands, this seems to be lackluster from Nexofast as they haven't thought out this solution properly. Upon implementing the flow they provided to us (nexoFAST 3.2), we ended up having some issues.

A new function was introduced as a solution to the problem.

The function setSelectedApplicationProfileNumberToDefaultFromServiceEntry allows us to set a profile, initialized the application, and finally, construct valid messages.

Below is the modified diagram.

  • No labels