Standards/bkm-express-qr
BKM Express QR
BKM Express QR
Overview
BKM Express QR is the QR-payment experience of BKM Express, Turkey's interbank card wallet operated by BKM (Bankalararası Kart Merkezi, the Interbank Card Center) [2]. It is not a distinct wire format: it rides on Turkey's national TR QR Code standard ("TR Karekod"), the single merchant-presented QR scheme mandated for the Turkish market by the Central Bank of the Republic of Türkiye (CBRT / TCMB) [1, 2, tr-cro]. The TR QR Code is EMVCo-compliant (Merchant-Presented Long QR), so one merchant code can be read by any compliant Turkish wallet or banking app, including BKM Express [1, 2].
In encyclopedia terms, BKM Express QR is the wallet layer; the national standard it conforms to is tr-qr-code, which is itself a country profile of emvco-mpm.
History
1990 — BKM (Bankalararası Kart Merkezi) founded by a consortium of 13 Turkish public and private banks to operate the country's interbank card-clearing infrastructure [9]. BKM today operates the national card switch, the TROY domestic card scheme, and — from 2020 — the TR QR Code Routing System [2, 9].
21 June 2012 — BKM Express launched as Turkey's national digital wallet, "implemented by Interbank Card Center (BKM) in Turkey for the first time in the world" [7]. It lets cardholders store credit, debit and prepaid cards from different banks in one place and pay online without sharing card details with merchants [4]. By January 2019 it was supported by 19 banks with roughly 1.6 million users [4].
17 March 2020 — native QR scanning added to the BKM Express iOS app (v2.0.36), enabling in-app camera scanning of BKM Express QR codes [8].
21 August 2020 — TR QR Code regulation published in the Official Gazette (No. 31220): the CBRT's Regulation on the Generation and the Use of the TR QR Code in Payment Services established the standardized national QR scheme and created the QR Code Routing System operated by BKM [1, 5]. Payment service providers were obliged to comply by 31 December 2021 [5].
CBRT regulation & rulebook — the regulation governs the standard; the accompanying BKM technical rulebook TR Karekod Teknik İlke ve Kuralları (Kartlı Ödemeler / card-payments edition, May 2022) defines the card-payments profile that the BKM Express flow uses [1, 2].
20 February 2024 — BKM Express adds TR Karekod card POS — release v2.0.51 introduced the production card flow: "Artık BKM Express üzerinden desteklenen kartlarınızla POS üzerinden TR Karekod ile ödeme yapabilirsiniz" ("You can now pay with your supported cards via TR Karekod at POS through BKM Express") [8]. The current version 2.0.58 was released 11 February of the following year [8].
BKM Express thus predates TR QR Code by eight years as BKM's interbank card wallet; TR QR Code later gave it (and every other Turkish wallet/banking app) a single standardized merchant QR to scan [2, 4, tr-cro].
Technical specification
BKM Express QR inherits the TR QR Code structure, which follows EMVCo Merchant-Presented Mode (Long QR) [1, 2]:
- Encoding: EMVCo MPM TLV (Tag–Length–Value): a 2-digit tag, a 2-digit length, then the value emvco-mpm.
- Payload Format Indicator (tag 00): value
"01"emvco-mpm. - CRC (tag 63): CRC-16/CCITT-FALSE over the full payload up to and including
6304emvco-mpm. - Transaction Currency (tag 53):
949(TRY, ISO 4217). - Country Code (tag 58):
TR(ISO 3166-1 alpha-2). - Merchant name / city (tags 59 / 60): merchant display name and city.
Merchant Account Information (MAI) template ranges
The TR QR Code standard partitions the MAI template tag space by payment rail. The merchant account information templates with IDs "26"–"27", "30"–"31" and "32" are allocated for BKM card systems, the FAST system, and mobile payments, respectively [1, 3, tr-cro]:
| Tag range | Rail / domain |
|---|---|
| 26–27 | Card payments (BKM) — the BKM Express card flow |
| 30–31 | FAST (instant account-to-account transfer) |
| 32 | Mobile payment |
The interactive playground on this page illustrates the card template (tag 26) — the BKM Express card flow — with currency 949 (TRY) and country TR. The other ranges (30–31 FAST, 32 mobile) are part of the same national standard but represent different rails [1, 3].
TR QR Code supports both static merchant QRs (no amount; payer enters it) and dynamic QRs (amount encoded per-transaction), the standard EMVCo MPM distinction carried via the Point of Initiation Method (tag 01) [2, [emvco-mpm]].
Use cases
- Card payment at the point of sale — TR QR Code card payments (the BKM domain) are accepted at about 85% of existing POS machines in Türkiye, and TR QR Code cash withdrawal is possible from almost all ATMs [3].
- ATM cash withdrawal — scan a TR QR Code at the ATM to withdraw cash without a physical card [3].
- E-commerce / m-commerce checkout — the EMVCo Merchant-Presented Long QR specification explicitly covers POS/ATM terminals, e-commerce sites, mobile-commerce apps, cash registers and printed media [1].
- P2P money requests via QR or messaging-app link — the BKM Express app supports requesting money "either via QR code in-person or through messaging apps via link" ("İster QR ile yüzyüze isterseniz link ile mesajlaşma uygulamaları üzerinden para isteyebilirsiniz"), making the QR a shareable across WhatsApp, SMS and similar channels [8].
- 24/7 transfers to a card number — the BKM Express app moves funds card-to-card around the clock without requiring IBAN exchange [8].
- Charitable donations — BKM Express supports in-app donation flows through TR Karekod, surfacing the standard as a generic "scan-to-pay" rail for non-merchant collections [8].
Implementations
There is no BKM Express-specific QR library; BKM Express produces and reads ordinary tr-qr-code payloads (EMVCo-MPM TLV with Turkish MAI templates 26-27 for cards). Any EMVCo-MPM encoder/decoder generates a valid BKM Express QR provided the merchant template IDs and country code (TR) follow the BKM rulebook [1, 2].
Generic EMVCo-MPM encoder/decoder libraries (work for BKM Express by populating MAI templates 26-27):
| Repo | Language | Stars | License | Last release | Notes |
|---|---|---|---|---|---|
| mvallim/emv-qrcode | Java | 128 | Apache-2.0 | v0.1.5, May 2026 | Full MPM v1.1 + CPM v1.1 encode/decode with CRC16 validation and duplicate-tag checks [10] |
| dongri/emv-qrcode | Go | 58 | — | 2024 | "Golang Based EMV QR Code Generator and Parser (MPM, CPM)"; idiomatic Go API for both modes [11] |
| steplix/emv-qrcps | JavaScript / Node.js | 23 | — | v0.0.8, Sep 2020 | npm steplix-emv-qrcps; Merchant + Consumer modules. Aging — fine as a reference, less ideal as a dependency in 2026 [12] |
Closed-source/native apps:
- BKM Express (iOS
id657408050, Androidcom.bkm.mobil) by Bankalararası Kart Merkezi A.Ş. — the official wallet that issues and scans TR Karekod payloads for the card rail [8].
The genuinely BKM-Express-specific integration is not at the QR layer but at the routing-system layer: merchants and PSPs that want to participate go through BKM's TR QR Code Switching System, which interconnects participants when payer and payee are at different institutions [2].
Comparison
vs. the FAST and mobile rails of the same standard — BKM Express QR uses the card MAI templates (26–27); the same TR QR Code also carries FAST instant account-to-account transfers (30–31) and mobile-operator payments (32). A single merchant code can therefore route over cards, instant transfer, or mobile billing depending on which template the merchant populates [1, 3].
vs. other national EMVCo-MPM QR standards (vietqr, promptpay-qr, qris, duitnow-qr) — Same EMVCo MPM technical family and same central-bank-mandated, single-national-QR pattern. TR QR Code is distinctive in explicitly carving the MAI template space into separate card vs instant-transfer vs mobile rails, where several peers focus on the account/instant-transfer rail [1, 3].
Fun facts
The world's first national interbank digital wallet. BKM's own chronology describes BKM Express, launched 21 June 2012, as "implemented by Interbank Card Center (BKM) in Turkey for the first time in the world" — a multi-issuer wallet pooling cards from competing banks into a single payment surface, predating Apple Pay's October 2014 launch and Google Pay's 2018 consolidation [7].
Three rails, one QR. Turkey's TR QR Code is unusual in explicitly partitioning the EMVCo MAI template space into three competing payment rails — card (IDs 26-27, BKM's domain, used by BKM Express), FAST instant transfer (IDs 30-31, the central bank's instant-payment system), and mobile-operator billing (ID 32, Turkcell/Vodafone/Türk Telekom). A merchant can populate any combination; the wallet that scans the code picks the rail [1, 3].
The QR app preceded the QR feature by 8 years. BKM Express launched as a card-tokenisation e-commerce wallet in 2012; native QR scanning in the mobile app did not arrive until March 2020 (iOS v2.0.36), and the production card-POS TR Karekod flow not until February 2024 (v2.0.51) — a slow, regulator-driven retrofit of a QR rail onto a wallet that originally targeted online checkout [7, 8].
Status
Active. TR QR Code is Turkey's mandated national QR standard, with BKM operating the card overlay used by BKM Express [2, tr-cro]. CBRT reports broad acceptance: card payments via TR QR Code reachable at ~85% of POS machines and withdrawals at nearly all ATMs, with FAST TR QR Code POS readiness at ~80% [3]. Turkey recorded 271% growth in QR-code payments in 2024 TR. BKM Express itself is supported by all large Turkish banks and reported ~1.6 million users (January 2019) [4].
Sources
- Regulation on the Generation and the Use of the TR QR Code in Payment Services — CBRT
- TR QR Code — BKM (Bankalararası Kart Merkezi)
- 2.5 Financial Infrastructure — CBRT 2023 Annual Report
- BKM Express — BKM (Bankalararası Kart Merkezi)
- Press Release on Turkish QR Code Rules and Principles (2020-52) — CBRT
- TR-turkey.md
- BKM Express, National Digital Wallet of Turkey, was launched (21 June 2012) — BKM Chronology
- BKM Express — Apple App Store
- Turkey: An exceptional Market for Payment Innovations — BKM
- mvallim/emv-qrcode — GitHub
- dongri/emv-qrcode — GitHub
- steplix/emv-qrcps — GitHub
Deployments
No country reports mention this standard by name.