Last updated

Overview

Card Transactions involves 2 different steps (Dual Message System) :

  • Authorization Flow
  • Clearing Flow

Authorization Flow

This is when the payment is made at the Point of Sale (PoS). This is triggered by an external event (card usage or merchant action) and can't be triggered with LinkCy API.

Associated LinkCy's Transaction Type is : CARD_AUTHORIZATION.

  1. Card data are submitted at the PoS
  2. PoS send transaction to the acquiring bank (Acquirer), the merchant's bank
  3. Acquirer send the transaction to the Card Scheme (Visa, Mastercard, ...)
  4. Card Scheme routes the transaction to the issuing bank (Issuer), the bank which issued the card
  5. Issuer approves or declines the transaction and send back the response to the merchant through the same actors

Authorization Flow
Card Transaction Authorization Flow

In case of a Debit transaction, if the Authorization is approved, then the corresponding amount will be reserved in the ledger balance (reservedAmount) and will not be spendable.

All this flow occurs in real-time (few seconds from end-to-end).

Before being clerared, addition of all Approved Card Authorization will held be in the "reservedAmount" balance.

A Declined Authorization will have a status DECLINED. This is a final status and the transaction can't change anymore.

An Approved Authorization will have a status APPROVED. This status will change over time to :

  • RELEASED when a matching Clearing transaction is received, or if no Clearing transaction is received after several days.
  • REVERSED when the Authorization is canceled or replaced. See Below

Reversals

Full Reversals :
An Authorization Reversal is sent by the merchant when he wants to cancel an Authorization amount reservation. It can also be sent by Schemes or Intermediate Processors to cancel an Authorization amount reservation, mainly for technical reasons (communication errors or timeouts).

In this cases, the previously approved card Authorization will have its status changed to REVERSED. Amount will be released from reservedAmount balance, as no card Clearing is expected later.

Partial Reversals :
In some cases, Merchant can change the amount that has been previously authorized with a card Authorization. The new amount can only be lower than initial authorization.

Main example of this is when paying on Automated Fuel Dispenser (AFD) : 1st Authorization amount is higher than the final price. In this case, Merchant will send a partial reversal.

At LinkCy, this implies :

  • Initial Authorization will have its staztus changed to REVERSED
  • A new Card Authorization will be created, in an APPROVED status. The amount will be the new amount indicated by the merchant.
  • Only the new amount will be kept in the reservedAmount balance.

When the card Clearing corresponding to this second card Authorization will be received, this card Authorization will have its status change to RELEASED as usual

Clearing Flow

This happens few day after the Authorization Flow : usually the day after, but can take up to 7 days.

Associated LinkCy's Transaction Type is : CARD_CLEARING.

  1. Merchant wants to collect money so they "capture" the transaction and send it to the Acquirer.
  2. Acquirer send the transaction (among a batch of other transaction) to the card Scheme.
  3. Card Scheme process the transaction among all the received transaction, and send the clearing files to the Issuer.
  4. Issuer process the clearing file containing the transaction

Authorization Flow
Card Transaction Clearing Flow

A Clearing transaction can't be declined by the Issuer.

Once the clearing is processed, the corresponding amount is debited from (or credited to in case of credit transaction) the ledger.

Amount from the Authorization is no longer reserved.

How to match authorization and clearing

when you perform a card transactions, you will have two transaction Id on LinkCy side. One for the authorization, one for the clearing.

First, the CARD_AUTHORIZATION will be created with a transactionId. Then, when authorization status is changed, you will received a webhooks and the second transaction CARD_CLEARING will be created with a new Id.

On the CARD_CLEARING payload, you will find originalTransactionId which is the Id if the CARD_AUTHORIZATION transaction.

 "originalTransactionId": "a9d27469-ff8b-487b-a0cd-e7570ea5673a"

Payload of the CARD_AUTHORIZATION will be updated to contain the Id of the CARD_CLEARING authorization.

 "clearingTransactionId": "9e83d1f3-903e-46bf-ab39-58a6802dcfff"

If you want to display validated transaction to your Endusers, make sure to only display validated cleared transactions and authorizations which do not have an associated clearing transaction.