Apa yang dicakup spesifikasi EMV QR
Spesifikasi EMV QR code dari EMVCo mendefinisikan bagaimana data pembayaran ditata di dalam QR code biasa. Ada dua mode. Pada Merchant-Presented Mode (MPM), pedagang menampilkan kode dan pelanggan men-scan-nya dengan aplikasi bank atau dompet digital. Pada Consumer-Presented Mode (CPM), aplikasi pelanggan menampilkan kode dan pedagang men-scan-nya di kasir.
Spesifikasi ini tidak menciptakan jaringan pembayaran. Ini adalah format data bersama, sehingga skema nasional atau jaringan kartu dapat menambahkan detail rekeningnya sendiri sementara sisa payload tetap sama. Itulah sebabnya Pix di Brasil, PromptPay di Thailand, SGQR di Singapura, DuitNow di Malaysia, QRIS di Indonesia, VietQR di Vietnam, dan Bharat QR di India semuanya tampak serupa secara struktur.
Cara payload disusun
Payload MPM adalah rangkaian objek data, masing-masing ditulis sebagai ID dua digit, panjang dua digit, dan nilainya. Misalnya, 5303840 berarti ID 53 (mata uang transaksi), panjang 03, nilai 840 (dolar AS dalam bentuk numerik ISO 4217). Objek berurutan tanpa pemisah, dan beberapa ID adalah template yang memuat objek bersarangnya sendiri dalam format yang sama.
Payload harus diawali ID 00 dan diakhiri ID 63, yaitu checksum. Checksum adalah nilai CRC-16/CCITT-FALSE yang ditulis sebagai empat karakter heksadesimal, dihitung atas semua yang ada sebelumnya termasuk karakter 6304. Scanner yang menghitung checksum berbeda akan menolak kode, yang menangkap sebagian besar kesalahan ketik atau salin.
- 00: penanda format payload, selalu 01
- 01: titik inisiasi, 11 untuk statis atau 12 untuk dinamis
- 26–51: template informasi rekening pedagang
- 52: kode kategori pedagang (MCC)
- 53: mata uang (numerik ISO 4217) dan 54: nominal
- 58: kode negara, 59: nama pedagang, 60: kota
- 62: data tambahan seperti nomor tagihan atau referensi; 63: CRC
Kode statis dan dinamis
EMV QR code statis (titik inisiasi 11) dicetak sekali dan dipakai berulang, dan pelanggan mengetik nominalnya. Kode dinamis (titik inisiasi 12) dibuat untuk satu transaksi dan biasanya membawa nominal serta referensi, sehingga pelanggan hanya mengonfirmasi. Stiker di meja kasir biasanya statis, sedangkan kode di layar kasir atau faktur biasanya dinamis.