UPI QR코드의 작동 방식
UPI QR코드는 upi://pay로 시작하는 결제 링크를 담고 있어요. UPI 앱이 스캔하면 수취인의 가상 결제 주소(UPI ID), 수취인 이름, 금액이나 메모를 읽고, 결제자에게 UPI PIN으로 확인하라고 요청해요. 돈은 인도 국립결제공사(NPCI)가 운영하는 실시간 결제 시스템인 UPI를 통해 은행 계좌 사이에서 이동해요.
형식이 공통이어서 한 은행이나 앱에서 만든 코드는 다른 모든 UPI 앱에서 작동해요. 개인 간 코드는 보통 UPI ID와 이름만 담고, 가맹점 코드는 가맹점 업종 코드와 거래 참조 번호를 더할 수 있어요.
upi://pay 링크의 필드
링크는 쿼리 매개변수의 집합이에요. 가장 간단한 예는 upi://pay?pa=shop@examplebank&pn=Example%20Store&cu=INR이에요. am=250.00을 더하면 금액이 고정되고, tn을 더하면 결제자의 앱에 표시되는 메모가 정해져요. 이름이나 메모의 공백과 특수 문자는 퍼센트 인코딩해야 해요.
- pa: 수취인 주소(UPI ID), 필수
- pn: 수취인 이름
- am: 금액, 루피 단위로 소수점 둘째 자리까지
- cu: 통화, INR
- tn: 거래 메모
- mc와 tr: 가맹점이 쓰는 가맹점 업종 코드와 거래 참조 번호
정적 코드, 동적 코드, 안전
금액이 없는 정적 UPI QR코드는 인쇄해서 계속 쓸 수 있고, 결제자가 매번 금액을 입력해요. 동적 코드에는 주문 하나에 대한 금액과 참조 번호가 들어 있어요. UPI 코드를 스캔하면 결제자의 돈이 나갈 수만 있고 들어오게 할 수는 없어요. 그래서 ‘환불을 받으려면 이 코드를 스캔하세요’라는 메시지는 흔한 사기 패턴이에요.