> For the complete documentation index, see [llms.txt](https://developer.tokeninc.com/token-developer-portal-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.tokeninc.com/token-developer-portal-1/okc-platform-linux/devices/300tr/card-redirection.md).

# 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="/files/acZ1zh33fTq6cmRO5Exk" 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**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.tokeninc.com/token-developer-portal-1/okc-platform-linux/devices/300tr/card-redirection.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
