Hari ini saya iseng lihat-lihat halaman pembayaran di browser dan menemukan sesuatu yang menarik: muncul kode berbentuk cincin dengan logo Apple Pay di tengah, lengkap dengan tulisan “Scan Code with iPhone”. Sekilas mirip QR code, tapi bentuknya beda — lingkaran, bukan kotak. Saya jadi penasaran: apakah ini QR code biasa? Ternyata tidak. Ini yang saya catat.

Apa Itu Apple Pay Code?
Apple Pay Code adalah kode proprietary dari Apple berbentuk cincin konsentris dengan logo Apple Pay di tengahnya. Kode ini muncul ketika kita mengklik tombol Apple Pay di browser desktop yang bukan Safari — misalnya Chrome, Firefox, atau Edge di Windows/Linux. Fungsinya sebagai jembatan (handoff) supaya pembayaran bisa diselesaikan lewat iPhone.
Fitur ini diperkenalkan bersama iOS 18 pada September 2024, dan dibahas resmi di sesi WWDC 2024 “What’s new in Wallet and Apple Pay”. Sebelumnya, Apple Pay di desktop hanya tersedia di Safari (Mac) — fitur ini membukanya untuk browser lain.
Bukan QR Code Biasa
Banyak orang menyebutnya “QR code”, padahal secara teknis berbeda. Perbedaannya kira-kira begini:
| Aspek | QR Code | Apple Pay Code |
|---|---|---|
| Bentuk | Kotak dengan modul persegi | Cincin/lingkaran konsentris, logo Apple Pay di tengah |
| Standar | ISO/IEC 18004 (terbuka) | Proprietary Apple, format tidak dipublikasikan |
| Isi | Data langsung (URL, teks, dll) | Token handoff sesi pembayaran |
| Scanner | Aplikasi QR biasa | Hanya iPhone iOS 18+ via app Camera |
| Fungsi | Membuka link, berbagi info | Menyelesaikan transaksi Apple Pay |
Intinya: kode ini tidak bisa dibaca scanner QR biasa, dan tidak berisi data yang bisa langsung didekode. Ini adalah representasi visual dari sesi pembayaran yang aman.
Tokenization: Rahasia di Balik Keamanan
Sebelum membahas alur transaksi, penting untuk memahami konsep tokenization. Saat kita menambahkan kartu kredit/debit ke Apple Pay, nomor kartu asli (PAN — Primary Account Number) tidak disimpan di iPhone. Sebagai gantinya, Apple membuat Device Account Number (DAN) — sebuah token unik yang hanya berlaku untuk perangkat tersebut.
Bayangkan seperti ini: kita punya kartu akses gedung. Nomor kartu asli seperti nomor KTP — kalau bocor, bisa disalahgunakan di mana saja. Tapi DAN seperti kartu akses yang hanya membuka satu pintu tertentu. Kalau dicuri, tidak ada gunanya di gedung lain. Setiap transaksi kemudian menggunakan DAN ini, bukan nomor kartu asli.
Selain DAN, setiap transaksi menghasilkan Dynamic Security Code — kode keamanan yang dihasilkan khusus untuk satu transaksi saja. Beda dengan CVV statis di belakang kartu, kode ini berubah setiap kali kita membayar. Developer familiar dengan refresh token OAuth bisa membayangkan konsep serupa: token sekali pakai yang tidak bisa di-replay.
Bagaimana Alurnya?
Klik tombol Apple Pay di browser desktop (non-Safari) → muncul halaman pay.apple.com/applepaycode dengan kode cincin unik → buka app Camera di iPhone (iOS 18+) dan scan kode → iPhone menampilkan detail transaksi dan meminta konfirmasi Face ID / Touch ID → setelah autentikasi, pembayaran dikirim ke merchant — selesai. Keseluruhan proses terasa instan dari sisi user, tapi di balik layar ada banyak yang terjadi.
Apple Pay Code vs NFC: Dua Cara Berbeda
Di dunia nyata, Apple Pay paling sering dipakai lewat NFC (tap to pay). Kita cukup mendekatkan iPhone ke terminal pembayaran, lalu autentikasi dengan Face ID. Transaksi NFC bekerja dalam tiga langkah: pertama, iPhone dan terminal saling bertukar informasi via protokol EMV Contactless; kedua, iPhone mengirim DAN dan Dynamic Security Code yang sudah dienkripsi; ketiga, terminal mengirim data ke jaringan kartu untuk otorisasi.
Apple Pay Code berbeda karena menjembatani skenario di mana tidak ada terminal NFC fisik — yaitu belanja online dari desktop. Mekanismenya lebih mirip dengan transfer otorisasi: kode di desktop hanya berisi pointer ke sesi pembayaran, dan semua proses kriptografi terjadi di Secure Element chip iPhone. Kalau NFC seperti “tap kartu di mesin”, Apple Pay Code seperti “scan barcode di kamar hotel” — keduanya menghasilkan pembayaran, tapi dengan mekanisme yang berbeda.
Perbandingan Metode Pembayaran
Sebagai programmer, saya suka membandingkan opsi dalam tabel. Berikut perbandingan tiga metode pembayaran utama yang sering kita temui:
| Aspek | QR Code Pembayaran | NFC (Tap to Pay) | Magnetic Stripe |
|---|---|---|---|
| Cara kerja | Scan kode → kirim data ke server | Dekatkan perangkat → data via radio | Gesek kartu → baca data magnetik |
| Kecepatan | Sedang (butuh buka kamera) | Cepat (~0.5 detik) | Sedang (~2 detik) |
| Keamanan | Tergantung implementasi (bisa static) | Tinggi (token + enkripsi) | Rendah (data statis, mudah di-skim) |
| Koneksi internet | Ya, di kedua sisi | Tidak wajib (offline capable) | Offline untuk baca data |
| Adopsi Indonesia | Tinggi (GoPay, OVO, Dana) | Menengah (mulai bertambah) | Menurun |
Apple Pay di Indonesia: Status Terkini
Hingga tulisan ini ditulis (September 2026), Apple Pay untuk transaksi NFC belum tersedia di Indonesia. Bank-bank besar seperti BCA, Mandiri, dan BRI belum mendukung Apple Pay secara native. Yang sudah tersedia hanya Apple Pay Cash untuk transfer antar pengguna Apple, dan itu pun terbatas. Apple Pay Code yang dibahas di post ini, meskipun bisa diakses dari Indonesia, tetap membutuhkan kartu yang didukung Apple Pay untuk pembayaran finalnya.
Sebagai developer yang tinggal di Indonesia, saya rasa ini ironi — Apple sudah siap dengan teknologinya, tapi ekosistem perbankan lokal belum menyusul. Saya berharap beberapa tahun ke depan situasinya berubah, mengingat adopsi QRIS (QR Indonesian Standard) sudah sangat tinggi di sini.
Masa Depan Pembayaran
Tren pembayaran global jelas bergerak ke arah cashless dan contactless. Tap to pay dengan NFC sudah menjadi standar di banyak negara. Apple juga menggulirkan fitur Tap to Pay on iPhone — memungkinkan merchant menerima pembayaran langsung dari iPhone tanpa terminal tambahan. Ditambah dengan biometrics (Face ID, Touch ID) sebagai lapisan autentikasi, pembayaran masa depan akan semakin seamless: tidak perlu kartu fisik, tidak perlu PIN, cukup wajah atau sidik jari.
Dari sisi developer, ini berarti kita perlu memahami tidak hanya frontend (tombol Apple Pay di web) tapi juga protokol backend seperti EMV, tokenization API, dan merchant validation. Apple Pay Code sendiri memberi gambaran bagaimana Apple menyeimbangkan UX yang sederhana dengan arsitektur keamanan yang kompleks di belakangnya.
Catatan Pribadi
Pertama kali saya melihat Apple Pay Code secara langsung, saya langsung teringat momen pertama kali pakai NFC payment di Jepang — waktu itu saya terkesima karena hanya perlu “tap” dan transaksi selesai tanpa PIN. Apple Pay Code memberikan rasa ajaib yang sama, tapi dari desktop: klik tombol di layar, scan dengan iPhone, dan pembayaran terkonfirmasi. Dari perspektif UX, ini contoh elegan dari apa yang Apple sebut “handoff” — memulai sesuatu di satu perangkat dan menyelesaikannya di perangkat lain tanpa frisi.
Satu hal yang saya catat sebagai developer: teknologi yang bagus bukan yang paling rumit, tapi yang menyembunyikan kerumitan dari pengguna. Apple Pay Code menyembunyikan tokenization, enkripsi end-to-end, dan kriptografi asymmetric di balik satu kode visual yang bisa di-scan dalam hitungan detik. Itu yang membuat saya tetap kagum dengan pendekatan Apple terhadap design.
Kesimpulan
Apple Pay Code ini sering disebut “QR code” di banyak artikel, tapi sebenarnya bukan — bentuknya cincin, formatnya proprietary, dan hanya bisa dibaca iPhone iOS 18+. Ia adalah jembatan antara browser desktop dan iPhone supaya pembayaran Apple Pay bisa dilakukan di hampir semua perangkat. Buat saya, ini contoh menarik bagaimana sebuah teknologi pembayaran bisa mengutamakan keamanan tanpa mengorbankan kemudahan.
Komentar Terbaru