EPC Girocode
EPC Girocode는 SEPA 신용 이체를 위한 유럽 결제 협의회(EPC)의 QR 형식입니다. Girocode를 스캔하면 수취인의 IBAN, 금액, 송금 메시지가 결제자의 뱅킹 앱에 자동으로 입력되어 은행 정보를 수동으로 복사하여 붙여넣는 번거로움을 없애줍니다. Sparkasse, Volksbank, Deutsche Bank, ING, N26, Revolut 및 대부분의 독일/오스트리아/네덜란드 뱅킹 앱에서 기본 지원됩니다. SEPA 외부 지역에서는 Girocode가 작동하지 않습니다.
공식 규격:EPC069-12 v2.1, SEPA 신용 이체 개시를 위한 데이터 캡처 지원 QR 코드 가이드라인 (2022).
인코딩: TLV나 구조화된 형식이 아닌 일반 UTF-8 텍스트.
방식: SEPA 신용 이체(SCT) 또는 SEPA 즉시 신용 이체(SCT Inst). QR은 1회성 신용 이체를 트리거하며, 자동이체/상시 주문은 해당하지 않습니다.
인코딩: TLV나 구조화된 형식이 아닌 일반 UTF-8 텍스트.
\n(LF, U+000A)으로 구분된 12개의 고정 위치 필드. 최대 페이로드 331바이트. 방식: SEPA 신용 이체(SCT) 또는 SEPA 즉시 신용 이체(SCT Inst). QR은 1회성 신용 이체를 트리거하며, 자동이체/상시 주문은 해당하지 않습니다.
페이로드 구조, 12줄, 줄바꿈으로 구분
| 줄 | 필드 | 길이 | 필수 | 비고 |
|---|---|---|---|---|
| 1 | 서비스 태그 | 3 | 예 | 고정값 BCD. |
| 2 | 버전 | 3 | 예 | 001(원래 규격) 또는 002(v2, EEA 내 BIC 선택 사항). |
| 3 | 문자 집합 | 1 | 예 | 1=UTF-8, 2=ISO-8859-1, 3=ISO-8859-2 등. 1이 유일하게 안전한 선택입니다. |
| 4 | 식별자 | 3 | 예 | SCT(표준 신용 이체). SCT Inst도 동일한 태그를 사용하며, 즉시/표준 여부는 수취 기관이 결정합니다. |
| 5 | BIC | 0, 8, 또는 11 | 아니오(v002) | v001에서는 필수, v002에서는 SEPA 결제 시 선택 사항. 비EEA 수취인의 경우 포함하세요. |
| 6 | 수취인 이름 | 1–70 | 예 | 자연어 이름. 문자 집합은 3번 줄을 따릅니다. |
| 7 | IBAN | 1–34 | 예 | 공백이나 서식 없이. DE89370400440532013000으로, DE89 3704 0044 0532 0130 00이 아닙니다. |
| 8 | 금액 | 4–12 | 아니오 | 형식: EUR10.00. 생략하면 스캔 시 결제자가 금액을 직접 입력할 수 있습니다. |
| 9 | 목적 | 0–4 | 아니오 | ISO 20022 외부 목적 코드. 예시: GDDS(물품), CHAR(자선). |
| 10 | 구조화된 송금 참조 | 0–35 | 아니오 | 자동 조정을 위한 ISO 11649 RF 채권자 참조. 11번 줄과 상호 배타적. |
| 11 | 비구조화 송금 정보 | 0–140 | 아니오 | 자유 형식 결제 사유. 10번 줄과 상호 배타적. |
| 12 | 수취인→발신인 정보 | 0–70 | 아니오 | 뱅킹 앱에서 결제자에게 표시되는 선택적 안내 텍스트(예: "Rechnung 2026-0042"). |
공식 테스트 벡터, v002 최소 구성
Commerzbank의 Max Mustermann에게 IBAN DE89370400440532013000으로 BIC 없이 €12.50 이체, 비구조화 참조 "Rechnung 42":
BCD
002
1
SCT
Max Mustermann
DE89370400440532013000
EUR12.50
Rechnung 42
5번(BIC 없음), 9번(목적 없음), 10번(구조화 참조 없음) 위치의 빈 줄에 주의하세요. 이 줄들은 필수이며, 총 줄 수는 정확히 12줄(12번 줄 생략 시 11줄)이어야 합니다.
실시간 IBAN 유효성 검사기(mod-97)
Girocode는 ISO 13616 mod-97 체크섬을 통과하지 못하는 IBAN을 거부합니다. 아래는 Abundera가 Girocode 생성기 내에서 인라인으로 실행하는 것과 동일한 유효성 검사기로, 브라우저에서 실행됩니다.
IBAN을 입력하여 유효성을 확인하세요.
일반적인 주의사항
- 줄 끝 문자. EPC069-12는 LF(
\n, U+000A)를 요구합니다. CR+LF(\r\n)는 일부 Android 뱅킹 앱에서 오류를 일으킵니다. Windows 메모장에서 페이로드를 복사하면 CR+LF가 생길 수 있으므로 QR 인코딩 전에 CR을 제거하세요. - v001에서는 BIC 필수, v002에서는 선택 사항. SEPA 내부 이체에는 항상 버전
002를 사용하세요. 페이로드를 8–11바이트 줄일 수 있고 모든 최신 뱅킹 앱과 호환됩니다. BIC는 레거시 v001 앱(대부분 단종됨) 또는 비EEA 수취인에게만 포함하세요. - 금액 형식 엄격.
EUR10.00, 통화 코드 접두사, 점 구분자, 소수점 두 자리.EUR10,EUR10,00,10.00 EUR은 모두 오류입니다. - 구조화 + 비구조화 참조 혼용 불가. 10번 줄과 11번 줄은 상호 배타적입니다. 둘 다 비어 있지 않으면 QR이 유효하지 않으며, 일부 앱은 하나를 무시하여 조정 불일치를 일으킬 수 있습니다.
- IBAN 공백. IBAN 필드(7번 줄)에는 공백이 허용되지 않습니다. 사람이 읽기 쉬운
DE89 3704 0044 0532 0130 00은 인코딩 전에DE89370400440532013000으로 변환해야 합니다. - 최대 페이로드 331바이트. 331바이트를 초과하는 QR 페이로드는 규격에 의해 거부됩니다. 긴 수취인 이름 + 긴 송금 메시지 + BIC + IBAN이 합쳐지면 초과할 수 있습니다. 뱅킹 앱은 스캔 시 오류를 표시하지만 인코딩 중에는 경고가 표시되지 않습니다.
- 문자 집합 함정. 3번 줄은 6번, 11번, 12번 줄에 적용되는 문자 집합을 지정합니다. UTF-8(값
1)이 국제 이름에 유일하게 실용적인 선택입니다. ISO-8859-1은 서유럽 라틴 문자 외의 문자를 인코딩할 수 없습니다. - SEPA 지역만 해당. Girocode 결제는 SEPA 참가 계좌(EU + EEA + 스위스 + 영국 + 모나코 + 산마리노 + 안도라 + 바티칸) 간에서만 작동합니다. 비SEPA 뱅킹 앱에서 Girocode를 스캔하면 실패하거나 빈 필드가 있는 일반 이체 화면이 열립니다.
- 자동이체 불가. Girocode는 SEPA 신용 이체 전용입니다. 출금/구독 흐름(상시 주문, 반복 위임)은 Girocode로 표현할 수 없습니다. 이 경우 QR과 SEPA 위임 문서를 함께 사용하세요.
- PSD2 반환 권리. SEPA 신용 이체는 스캔 시 소비자가 직접 승인하는 푸시 방식입니다. PSD2에 따른 소비자 환불 권리(예: 13개월 이내 미승인 거래)는 여전히 적용됩니다. 판매자는 QR 자체가 계약이 아니므로 서명된 승인 기록을 별도로 보관해야 합니다.
뱅킹 앱 호환성
| 앱 / 지역 | Girocode 지원 | 비고 |
|---|---|---|
| Sparkasse (DE) | 기본 지원 | Girocode의 원래 대상 앱. 완전 지원. |
| Volksbank / Raiffeisen (DE, AT) | 기본 지원 | VR-BankingApp에서 완전 지원. |
| Deutsche Bank, Commerzbank, Postbank (DE) | 기본 지원 | 모바일 앱의 "Überweisung" 흐름에서 스캔 가능. |
| ING (DE / NL) | 기본 지원 | NL 앱에서 iDEAL QR도 스캔 가능. |
| N26, Revolut | 기본 지원 | 지원 국가 전체에서 완전 지원. |
| Erste Bank, Bank Austria (AT) | 기본 지원 | 오스트리아는 독일과 함께 Girocode를 채택. |
| Crédit Agricole, BNP Paribas (FR) | 부분 지원 | 일부 프랑스 은행은 Girocode를 스캔하지만, 대부분은 구형 종이 참조 형식을 선호합니다. |
| 일반 iOS/Android 카메라 | 미지원 | 기본 카메라는 BCD 텍스트 형식을 결제 의도로 파싱하지 않습니다. 먼저 뱅킹 앱을 열어야 합니다. |
참고 항목
- /epc-girocode-qr-code/, IBAN 유효성 검사 및 실시간 인코딩을 갖춘 Girocode 생성기.
- /sepa-qr-code/, SEPA 신용 이체 QR 생성기(동일한 기본 형식).
- /standards/swiss-qr-bill/, CHF/스위스-IBAN 이체를 위한 지역 대안 Swiss QR-bill.
- /standards/, 규격 색인으로 돌아가기.