UPI
UPI(통합 결제 인터페이스)는 인도의 즉시 결제 인프라로, National Payments Corporation of India(NPCI)가 운영합니다. 두 가지 QR 형식이 공존합니다: 간단한 upi://pay URI 스킴(모든 UPI 앱에서 작동)과 NPCI BR Code, 태그 26에 VPA를 담은 Merchant Account Information이 포함된 EMVCo MPM 서브셋입니다. UPI는 2024년까지 월 110억 건 이상의 거래를 처리했으며, 모든 인도 은행 및 결제 앱이 지원합니다.
표준 사양:NPCI UPI Product Overview 및 NPCI OC 97, Standardization of UPI QR Code Format.
URI 스킴:
상위 사양:EMVCo MPM v1.1. UPI는 BR Code 형식에서 가맹점 계좌 태그
규제 기관:인도준비은행(RBI), UPI 통지문을 발행하며 NPCI가 운영합니다.
URI 스킴:
upi://pay?pa=VPA&pn=NAME&am=AMT&cu=INR, 가장 간단한 UPI QR 형식. 모든 UPI 지원 앱에서 작동합니다. 상위 사양:EMVCo MPM v1.1. UPI는 BR Code 형식에서 가맹점 계좌 태그
26을 예약합니다. 규제 기관:인도준비은행(RBI), UPI 통지문을 발행하며 NPCI가 운영합니다.
두 가지 QR 형식
- upi:// URI 스킴. 간단한 URL 인코딩 결제 의도. 소비자 대상 모든 UPI QR(소규모 가맹점의 Paytm/Google Pay/PhonePe 스티커)에서 사용됩니다. 모든 UPI 앱에서 읽을 수 있습니다.
- NPCI BR Code(EMVCo MPM). UPI Merchant Account Information을 위한 태그
26이 있는 TLV 인코딩 형식. 통합/상호운용 QR(Bharat QR) 및 UPI + RuPay + 카드를 동시에 전달할 수 있는 대형 엔터프라이즈 배포에 사용됩니다.
upi:// URI 스킴, 파라미터
| 파라미터 | 이름 | 필수 | 비고 |
|---|---|---|---|
pa | 수취인 주소(VPA) | 예 | 형식: user@handle. 예: alice@oksbi, merchant@paytm. |
pn | 수취인 이름 | 예 | URL 인코딩. 확인을 위해 송금인에게 표시됩니다. |
am | 금액 | 아니오 | 십진수 문자열: 10.00. 정적 "금액 입력" QR에는 생략하세요. |
cu | 통화 | 아니오 | 항상 INR. UPI는 규정상 INR 전용입니다. |
tn | 거래 메모 | 아니오 | 송금인에게 표시되는 자유 텍스트 메모, 최대 50자. |
tr | 거래 참조번호 | 아니오 | 대사를 위한 가맹점 제공 ID. |
mc | 가맹점 업종 코드 | 아니오 | 4자리 ISO 18245 MCC. 가맹점 계좌에는 필수, P2P에는 선택 사항. |
tid | 단말기 ID | 아니오 | POS 단말기 식별자. |
url | 청구서/제품 URL | 아니오 | 결제 후 영수증을 가져오기 위해 송금인이 열 수 있는 딥 링크. |
NPCI BR Code, 태그 26 구조
통합 QR이 일반 upi:// 대신 BR Code 형식을 사용할 때, UPI 고유 페이로드는 중첩된 TLV로 태그 26에 위치합니다:
| 서브 태그 | 이름 | 길이 | 비고 |
|---|---|---|---|
00 | GUI, 전역 고유 식별자 | 가변 | 고정값 upi.npci.org. 스킴을 UPI로 식별합니다. |
01 | VPA | 가변 | 가상 결제 주소. 예: merchant@oksbi. |
02 | 가맹점 코드 | 가변 | 어콰이러 대사를 위한 NPCI 할당 가맹점 식별자. |
VPA 형식 규칙
- 형식:
user@handle, 사용자 이름 다음에@와 결제 서비스 제공자를 식별하는 PSP 핸들. - 사용자 이름 부분. 3~63자, 영숫자 및
.,-,_. 사양상 대소문자를 구분하지 않음, 하지만 일부 앱은 대소문자를 구분하는 것으로 처리합니다(주의사항 참조). - 핸들 부분. PSP 할당. 일반적인 핸들:
@oksbi(SBI),@okicici(ICICI),@okhdfcbank(HDFC),@paytm(Paytm),@ybl(PhonePe → Yes Bank),@ibl(PhonePe → IDFC FIRST),@apl(Amazon Pay via Axis). - 전체 길이.
@포함 최대 약 50자. - 확인. 스캔 시 송금인 앱이 NPCI를 통해 VPA → 은행 계좌를 확인합니다. 확인 결과 등록된 계좌 명의자 이름을 반환하며, 송금인 앱이 확인을 위해 표시합니다.
표준 테스트 벡터, upi:// URI 스킴
VPA merchant@oksbi, 이름 TEST MERCHANT, 고정 금액 ₹10.00, 참조번호 INV-2026-0001:
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&am=10.00&cu=INR&tn=Invoice%20INV-2026-0001&tr=INV-2026-0001최소한의 "금액 입력" 정적 스티커:
upi://pay?pa=merchant@oksbi&pn=TEST%20MERCHANT&cu=INR주의사항
- 실제 VPA 대소문자 구분. NPCI 사양은 VPA가 대소문자를 구분하지 않는다고 명시합니다. 실제로 일부 앱(구형 PhonePe, Paytm)은 대소문자 혼용 VPA에서 실패합니다. 항상 소문자로 출력하세요:
alice@oksbi,Alice@OKSBI가 아닌. - 수취인 이름의 URL 인코딩.
pn파라미터는 퍼센트 인코딩이 필요한 공백과 악센트 문자를 받습니다.TEST MERCHANT→TEST%20MERCHANT. 올바르게 디코딩하지 않는 앱은 확인 화면에 깨진 이름을 표시합니다. - 통화는 INR이어야 합니다. UPI는 RBI 규정에 따라 INR 전용입니다. 다른
cu값은 자동으로 삭제되거나 거부됩니다. 해외 수취인은 RBI Liberalised Remittance Scheme 준수가 필요하며 UPI를 사용하지 않습니다. - 금액은 양수여야 합니다.
am=0이나am=-5는 거부됩니다. "금액 입력" QR에는am파라미터를 완전히 생략하세요. - 금액에 ₹ 기호.
am값에 루피 기호나 "Rs."를 포함하지 마세요.am=10.00,am=₹10.00가 아닌. - POS에서의 오버레이 사기. 물리적 UPI 스티커는 인도에서 잘 알려진 사기 경로입니다. 공격자가 자신의 VPA 스티커를 가맹점의 스티커 위에 붙입니다. RBI의 사기 방지 통지문은 가맹점이 QR 옆에 인쇄 텍스트로 예상 VPA를 표시하여 송금인이 확인할 수 있도록 요구합니다.
- GST + 1099-K 유사. UPI 상업 영수증은 GST 신고 시 집계됩니다. 연간 총 영수증이 ₹20라크 초과인 가맹점은 GST 등록이 필요하고, ₹10크로르 초과 시 GST Invoice Registration Portal에서 전자 청구서를 생성해야 합니다. UPI 거래 데이터는 대사를 위해 GST 네트워크(GSTN)와 공유됩니다.
- 투자 권유 제한. SEBI는 미등록 증권 권유에 UPI를 금지합니다. "보장된 수익", 토큰 사전 판매 또는 MLM 방식을 홍보하는 UPI QR은 SEBI 집행을 유발합니다.
- 소비자 보호(전자상거래) 규칙. 결제를 받는 인쇄된 UPI QR은 2020년 전자상거래 규칙 하의 상업적 제안입니다. 가맹점은 QR 옆에 환불 정책을 표시해야 합니다. UPI 결제는 즉시 최종 확정되며, 환불은 가맹점에서 송금인으로의 별도 UPI 푸시로 시작해야 합니다.
UPI 앱 호환성
| 앱 | upi:// URI | NPCI BR Code | 비고 |
|---|---|---|---|
| Google Pay (Tez) | 예 | 예 | 거래량 기준 최대 UPI 앱. |
| PhonePe | 예 | 예 | UPI + BR Code 완전 지원. |
| Paytm | 예 | 예 | 완전한 UPI + 자체 Paytm 지갑 폴백. |
| Amazon Pay | 예 | 예 | Axis Bank 경유(@apl 핸들). |
| BHIM | 예 | 예 | NPCI 참조 구현. 테스트를 위한 안전한 기준. |
| 모든 주요 은행 앱(SBI YONO, ICICI iMobile, HDFC PayZapp, Axis Mobile) | 예 | 예 | UPI 등록 은행 모두 소비자 앱에 UPI 지원을 제공합니다. |
| 일반 iOS/Android 카메라 | 부분 | 아니오 | 기본 카메라는 upi:// 스킴을 파싱하고 최신 기기에서 "UPI 앱에서 열기"를 제공하지만, BR Code TLV를 직접 렌더링하지는 않습니다. |
참고
- /upi-qr-code/, VPA 검증과 실시간
upi://인코딩이 포함된 UPI 생성기. - /standards/emvco/, EMVCo MPM 상위 사양.
- /standards/pix/, PIX 브라질, EMVCo 태그 26도 사용하는 자매 스킴.
- /standards/, 표준 인덱스로 돌아가기.