UPI를 지원하는 Android QR 스캐너
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 13 (Android 12와 하위 호환됨)은 사용자가 해당하는 빠른 설정 타일에서 직접 액세스할 수 있는 전용 QR 코드 스캐너를 추가하여 UPI 결제 흐름을 지원합니다. 사용자는 실시간 카메라 또는 정적 이미지에서 QR 코드를 스캔하여 UPI 결제 흐름을 시작할 수 있습니다.

기기에 여러 UPI 앱이 설치된 경우 사용자에게 구분 대화상자가 표시됩니다. 그러면 결제 흐름이 사용자가 선택한 앱에서 계속됩니다.
앱 순서는 어떤 방식으로도 수정되지 않습니다. 기존 UPI 인텐트 대화상자와 마찬가지로 사용자가 가장 자주 사용하는 앱이 OS에서 우선순위가 지정되어 먼저 표시됩니다.
Android QR 스캐너의 UPI 인텐트 지원
이 흐름을 통해 결제 앱이 실행되면 호출 패키지 ID가 com.google.android.gms로 설정됩니다. 이 값은 변경할 수 없습니다.
결제 앱은 이 소스를 확인하고 이 패키지 ID에서 시작된 모든 결제 흐름을 QR에 의해 시작된 것으로 처리하고 수취인의 PSP로 데이터를 전송할 때 시작 모드를 QR로 설정해야 합니다.
실시간 QR 코드 (카메라 사용) 스캔으로 시작된 결제와 QR 코드 이미지 (기기의 사진) 스캔으로 시작된 결제를 구분하기 위해 QR 스캐너는 QR 코드의 소스를 식별하는 데 도움이 되는 인텐트 extra를 전달합니다.
결제 앱은 com.google.android.gms.UPI_QR_SOURCE
키를 사용하여 'intent extra' 값을 가져온 다음 다음과 비교해야 합니다.
STATIC_IMAGE
문자열은 소스가 정적 이미지임을 나타냅니다.
LIVE_CAMERA
문자열은 소스가 카메라임을 나타냅니다.
키 |
값 |
설명 |
com.google.android.gms.UPI_QR_SOURCE |
STATIC_IMAGE
|
기기에 저장된 QR 코드 이미지입니다. |
|
LIVE_CAMERA
|
카메라를 사용하여 실시간으로 캡처한 QR 코드 이미지 |
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[null,null,["최종 업데이트: 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 |"]]