Pemindai QR Android dengan dukungan UPI
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Android 13 (dengan kompatibilitas mundur untuk Android 12) mendukung alur pembayaran
UPI dengan menambahkan pemindai Kode QR khusus yang dapat diakses pengguna
langsung dari kartu Setelan Cepat yang sesuai. Pengguna dapat meluncurkan
alur pembayaran UPI dengan memindai Kode QR dari kamera live atau dari
gambar statis.

Saat beberapa aplikasi UPI diinstal di perangkat, pengguna akan melihat
dialog disambiguation. Alur pembayaran kemudian dilanjutkan di aplikasi
yang dipilih oleh pengguna.
Perhatikan bahwa urutan aplikasi tidak diubah dengan cara apa pun. Aplikasi yang paling sering
digunakan pengguna diprioritaskan oleh OS dan ditampilkan terlebih dahulu, mirip dengan
dialog intent UPI yang ada.
Mendukung intent UPI dari pemindai QR Android
Saat aplikasi pembayaran diluncurkan melalui alur ini, ID paket panggilan ditetapkan
sebagai com.google.android.gms. Nilai ini tidak dapat diubah.
Aplikasi pembayaran harus memverifikasi sumber ini dan menangani semua alur pembayaran
yang dimulai dari ID paket ini agar diperlakukan sebagai dimulai oleh QR dan
menetapkan mode inisiasi ke QR saat mengirim data ke PSP penerima pembayaran.
Untuk membedakan antara pembayaran yang dimulai dari pemindaian Kode QR aktif (menggunakan
kamera) dan pemindaian gambar Kode QR (foto di perangkat), pemindai QR
akan meneruskan intent tambahan yang membantu mengidentifikasi sumber Kode QR.
Aplikasi pembayaran perlu mengambil nilai "intent extra" dengan kunci
com.google.android.gms.UPI_QR_SOURCE
, lalu membandingkannya dengan hal berikut:
- String
STATIC_IMAGE
menunjukkan bahwa sumbernya adalah gambar statis.
- String
LIVE_CAMERA
menunjukkan bahwa sumbernya adalah kamera.
Key |
Nilai |
Penjelasan |
com.google.android.gms.UPI_QR_SOURCE |
STATIC_IMAGE
|
Gambar kode QR yang disimpan di perangkat. |
|
LIVE_CAMERA
|
Gambar kode QR yang diambil secara langsung menggunakan kamera |
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Android QR scanner with UPI support\n\nAndroid 13 (with backwards compatibility for Android 12) supports UPI\npayment flows by adding a dedicated QR Code scanner that users can access\ndirectly from the corresponding Quick Settings tile. Users can launch\na UPI payment flow by scanning a QR Code either from the live camera or from\na static image.\n\n\nWhen multiple UPI apps are installed on a device, the user is presented\nwith a disambiguation dialog. The payment flow then continues in the app\nselected by the user.\n\nNote that the order of apps is not modified in any manner. Users' most\nfrequently used apps are prioritized by the OS and displayed first, similar to\nthe existing UPI intent dialog.\n\nSupport UPI intents from Android QR scanner\n-------------------------------------------\n\nWhen a payment app is launched via this flow, the calling package ID is set\nas **com.google.android.gms**. This value cannot be altered.\n\nPayment apps need to **verify this source** and handle all the payment\nflows initiated from this package ID to be **treated as initiated by QR** and\n**set the initiation mode to QR when sending data to the payee's PSP**.\n\nTo distinguish between payments initiated from scanning a live QR Code (using\nthe camera) and scanning a QR Code image (photo on device), the QR scanner\npasses an intent **extra** which helps identify the source of the QR Code.\n\nPayment apps need to fetch the value of \"intent **extra** \" with the key\n`com.google.android.gms.UPI_QR_SOURCE`, and then compare with the following:\n\n- `STATIC_IMAGE` string indicates that the source is a static image.\n- `LIVE_CAMERA` string indicates that the source is the camera.\n\n|--------------------------------------|----------------|----------------------------------------------|\n| **Key** | **Value** | **Explanation** |\n| com.google.android.gms.UPI_QR_SOURCE | `STATIC_IMAGE` | QR code image stored on the device. |\n| | `LIVE_CAMERA` | QR code image captured live using the camera |"]]