# Card Redirection

## Revision History <a href="#toc212628598" id="toc212628598"></a>

<table data-header-hidden><thead><tr><th></th><th></th><th width="149"></th><th></th></tr></thead><tbody><tr><td>VERSION</td><td>AUTHOR</td><td>CHANGE</td><td>DATE</td></tr><tr><td>1.0</td><td>Erdem ASLAN</td><td>First Release</td><td>15.07.2014</td></tr><tr><td>1.1</td><td>Erdem ASLAN</td><td> Additions after feedback</td><td>08.08.2014</td></tr><tr><td>1.2</td><td>Erdem ASLAN</td><td> Contacless Priority Bank</td><td>19.08.2015</td></tr></tbody></table>

## 1. Description

The Automatic Bank Routing feature is executed by the *Card Manager* application when a card is inserted into the terminal. It operates based on predefined workflow rules that take into account the requirements of the bank, Arçelik, and the business.

### **2.  Operating Principle and Software Flow**

When a transaction reaches the credit card payment stage, the *Card Manager* application is activated and follows the process outlined below:

* It accepts input via chip, magnetic stripe, or manual entry.
* It sequentially calls the libraries of active banks.
* It provides the PAN (Primary Account Number) information to the libraries and receives information regarding the ownership of the card.
* The response received contains the following status types:
  * **ISSUER**: The card belongs to the bank.
  * **BRAND**: The card does not belong to the bank but is part of the same loyalty group.
  * **NOT ONUS**: The card does not belong to the bank and is not part of the same loyalty group.
  * **NONE**: The card is not supported.
* If an **ISSUER** bank is found, it is automatically selected.
* If no **ISSUER** bank is found, the system searches for a **BRAND** bank. If a single **BRAND** bank exists, it is automatically selected. If multiple **BRAND** banks exist, they are listed for selection.
* If neither an **ISSUER** nor a **BRAND** bank is found and a preferred bank has not been selected, all active banks except **NONE** banks are listed. If a preferred bank has been selected and it is not **NONE**, it is automatically selected. If the preferred bank is **NONE**, all active banks except **NONE** banks are listed.

**NOTE**: Banks whose libraries are not installed on the device are considered **NOT ONUS**. As stated above, **NOT ONUS** banks can only be selected when all active banks except **NONE** banks are listed. Automatic routing will not apply to these banks.

The algorithm flowchart of the *Card Manager* is shown below.

&#x20;

<figure><img src="https://3563879677-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKr9flrh8h32VY15Dvp8T%2Fuploads%2FfR3dlr3kxrxtEiBrIsyE%2FScreenshot%202025-02-12%20at%201.39.20%E2%80%AFPM.png?alt=media&#x26;token=bdd28928-c9e6-427e-bfa5-c25879934815" alt=""><figcaption><p>Flow Chart For Card Redirection</p></figcaption></figure>

## 3. Features

### **3.1 Contact Priority (Default) Bank**

If the user selects *Contact Priority Bank* via **User Settings → Common POS Menu → Contact Priority Bank**, then whenever a transaction is initiated with a card that does not belong to an **ISSUER** or **BRAND** bank, the system automatically selects the *Contact Priority Bank*.\
If the *Contact Priority Bank* is in a **NONE** state for that card, all active banks except **NONE** banks are listed.\
If the card belongs to multiple active **BRAND** banks and one of them is the *Contact Priority Bank*, then that bank is selected directly.

### **3.2 Contactless Priority (Default) Bank**

The *Contactless Priority Bank* must be explicitly selected. To ensure this, the system assigns the first activated contactless-enabled bank as the *Contactless Priority Bank*. The user can change this setting via **User Settings → Common POS Menu → Contactless Priority Bank**.\
If a transaction is initiated with a card that does not belong to an **ISSUER** or **BRAND** bank, the system automatically selects the *Contactless Priority Bank*.\
If the card belongs to multiple active **BRAND** banks and one of them is the *Contactless Priority Bank*, then that bank is selected directly.

### **3.3 Cancelling Card Routing and Returning to Menu**

In any menu where card entry is made (**CHIP card insertion, MSR swipe, or PAN entry**), the user can press the cancel button to manually select a bank from the menu.

### **3.4 Commitment**

A bank designated under this feature is set as the *Priority Bank* and **cannot be changed by the business location**.\
For this setup to be implemented, IT integration between **Arçelik and the bank must be completed**.

## **4. System Requirements**

The following requirements must be met for the Automatic Bank Routing feature to function properly:

* **Revision of Bank Applications**\
  Bank applications must be updated to prevent requiring a second card entry for magnetic stripe or manually entered transactions. This data is sent to the bank application via the sales protocol.
* **Library for Verifying Card Ownership**\
  A library must be available within the bank application to verify if the card belongs to that bank.
* **Card Manager Software Component**\
  This component is responsible for receiving card input, calling the appropriate libraries, processing their responses, and either automatically selecting a bank or listing active banks for selection.

## **5. Compatibility with Legacy Bank Software**

Compatibility with legacy bank software can be achieved under the following conditions:

* In **magnetic stripe transactions**, card reading is performed by both the ECR and the bank application, resulting in duplicate readings. The same applies to **manual entry transactions**.
* **Protocol compatibility is required**. Since card data is appended to the end of the protocol data, older versions may encounter **memory issues or data parsing errors**.
* **Legacy bank applications will be processed as "NOT ONUS" by default**.
* For **contactless transactions**, the appropriate function must be added to the bank library as described in the *Bank App Protocol* document.

## **6. Known Issues**

After this feature is installed on terminals, **automatic routing may fail once during the device's lifetime**.

This occurs because the **BIN table required by the library is copied to the relevant directory only when the application runs for the first time**. If the application has never been opened, the corresponding bank library **will not be able to perform correct routing**.
