EPC Girocode
EPC Girocode là định dạng QR của Hội đồng Thanh toán châu Âu (European Payments Council) dành cho Chuyển tiền Tín dụng SEPA. Khi quét Girocode, ứng dụng ngân hàng của người trả sẽ tự điền sẵn IBAN của người thụ hưởng, số tiền và nội dung chuyển khoản, giúp tránh phải sao chép thủ công thông tin tài khoản. Được hỗ trợ gốc bởi Sparkasse, Volksbank, Deutsche Bank, ING, N26, Revolut và hầu hết các ứng dụng ngân hàng Đức/Áo/Hà Lan. Ngoài vùng SEPA, Girocode không có tác dụng.
Mã hoá: Văn bản UTF-8 thuần tuý, không phải TLV, không có cấu trúc. Mười hai trường cố định theo vị trí, phân tách bằng
\n (LF, U+000A). Tải trọng tối đa 331 byte. Lược đồ: Chuyển tiền Tín dụng SEPA (SCT) hoặc Chuyển tiền Tín dụng Tức thì SEPA (SCT Inst). QR kích hoạt một giao dịch chuyển tiền một lần; không có ghi nợ trực tiếp / lệnh thường xuyên.
Cấu trúc tải trọng, 12 dòng, phân tách bằng dòng mới
| Dòng | Trường | Độ dài | Bắt buộc | Ghi chú |
|---|---|---|---|---|
| 1 | Thẻ dịch vụ | 3 | Có | Giá trị cố định BCD. |
| 2 | Phiên bản | 3 | Có | 001 (thông số gốc) hoặc 002 (v2, BIC nay không bắt buộc trong EEA). |
| 3 | Bộ ký tự | 1 | Có | 1=UTF-8, 2=ISO-8859-1, 3=ISO-8859-2, v.v. 1 là lựa chọn an toàn duy nhất. |
| 4 | Mã nhận dạng | 3 | Có | SCT (Chuyển tiền Tín dụng tiêu chuẩn). SCT Inst dùng cùng thẻ; tức thì hay tiêu chuẩn là quyết định của đơn vị thu nhận. |
| 5 | BIC | 0, 8 hoặc 11 | Không (v002) | Bắt buộc ở v001; tuỳ chọn ở v002 cho thanh toán SEPA. Nên thêm BIC cho người nhận ngoài EEA. |
| 6 | Tên người thụ hưởng | 1–70 | Có | Tên ngôn ngữ tự nhiên. Bộ ký tự theo dòng 3. |
| 7 | IBAN | 1–34 | Có | Không có khoảng trắng hay định dạng. DE89370400440532013000, không phải DE89 3704 0044 0532 0130 00. |
| 8 | Số tiền | 4–12 | Không | Định dạng: EUR10.00. Bỏ trống để người trả nhập số tiền khi quét. |
| 9 | Mục đích | 0–4 | Không | Mã mục đích bên ngoài ISO 20022. Ví dụ: GDDS (hàng hoá), CHAR (từ thiện). |
| 10 | Tham chiếu thanh toán có cấu trúc | 0–35 | Không | Tham chiếu chủ nợ RF theo ISO 11649, dùng cho đối chiếu tự động. Loại trừ lẫn nhau với dòng 11. |
| 11 | Thông tin thanh toán không có cấu trúc | 0–140 | Không | Lý do thanh toán dạng văn bản tự do. Loại trừ lẫn nhau với dòng 10. |
| 12 | Thông tin từ người thụ hưởng đến người khởi tạo | 0–70 | Không | Văn bản gợi ý tuỳ chọn hiển thị cho người trả trong ứng dụng ngân hàng (ví dụ: "Rechnung 2026-0042"). |
Vector kiểm tra chính thức, v002 tối giản
Chuyển €12.50 đến Max Mustermann tại Commerzbank, IBAN DE89370400440532013000, không có BIC, tham chiếu tự do "Rechnung 42":
BCD
002
1
SCT
Max Mustermann
DE89370400440532013000
EUR12.50
Rechnung 42
Lưu ý các dòng trống tại vị trí 5 (không có BIC), 9 (không có mục đích), 10 (không có tham chiếu có cấu trúc). Các dòng này là bắt buộc; tổng số dòng phải đúng 12 (hoặc 11 nếu bỏ dòng 12).
Trình xác thực IBAN trực tiếp (mod-97)
Girocode từ chối mọi IBAN không vượt qua kiểm tra tổng mod-97 theo ISO 13616. Dưới đây là trình xác thực mà Abundera chạy nội tuyến trong trình tạo Girocode, chạy ngay trên trình duyệt của bạn.
Những lỗi phổ biến
- Ký tự xuống dòng. EPC069-12 yêu cầu LF (
\n, U+000A). CR+LF (\r\n) làm hỏng một số ứng dụng ngân hàng Android. Nếu bạn sao chép tải trọng từ Notepad trên Windows, bạn sẽ nhận được CR+LF; hãy xoá các ký tự CR trước khi mã hoá QR. - BIC bắt buộc ở v001, tuỳ chọn ở v002. Luôn phát phiên bản
002cho các giao dịch nội SEPA — tiết kiệm 8–11 ký tự tải trọng và hoạt động với mọi ứng dụng ngân hàng hiện đại. Chỉ thêm BIC cho ứng dụng v001 cũ (phần lớn đã ngừng) hoặc người nhận ngoài EEA. - Định dạng số tiền nghiêm ngặt.
EUR10.00: tiền tố mã tiền tệ, dấu chấm thập phân, đúng hai chữ số thập phân.EUR10,EUR10,00,10.00 EURđều không hợp lệ. - Không được dùng cả tham chiếu có cấu trúc và không có cấu trúc. Dòng 10 và dòng 11 loại trừ lẫn nhau. Nếu cả hai đều có giá trị, thông số kỹ thuật coi QR là không hợp lệ; thực tế một số ứng dụng chấp nhận và bỏ một trường, gây ra sai lệch khi đối chiếu.
- Khoảng trắng trong IBAN. Trường IBAN (dòng 7) không chấp nhận khoảng trắng.
DE89 3704 0044 0532 0130 00dạng đọc được phải được rút gọn thànhDE89370400440532013000trước khi mã hoá. - Tải trọng tối đa 331 byte. Tải trọng QR vượt quá 331 byte bị thông số kỹ thuật từ chối. Tên người thụ hưởng dài + nội dung chuyển khoản dài + BIC + IBAN có thể vượt mức này. Ứng dụng ngân hàng hiển thị lỗi khi quét; QR không tự cảnh báo trong lúc mã hoá.
- Bẫy bộ ký tự. Dòng 3 xác định bộ ký tự áp dụng cho các dòng 6, 11, 12. UTF-8 (giá trị
1) là lựa chọn thực tế duy nhất cho tên quốc tế. ISO-8859-1 không thể mã hoá bất cứ thứ gì ngoài ký tự Latin Tây Âu. - Chỉ trong vùng SEPA. Thanh toán Girocode chỉ hoạt động giữa các tài khoản tham gia SEPA (EU + EEA + Thụy Sĩ + Anh + Monaco + San Marino + Andorra + Vatican). Quét Girocode bằng ứng dụng ngân hàng ngoài SEPA sẽ thất bại hoặc mở màn hình chuyển tiền thông thường với các trường trống.
- Không có ghi nợ trực tiếp. Girocode chỉ dành cho Chuyển tiền Tín dụng SEPA. Các luồng kéo/đăng ký (lệnh thường xuyên, uỷ thác định kỳ) không thể biểu diễn trong Girocode. Cho những trường hợp đó, hãy kết hợp QR với tài liệu uỷ thác SEPA.
- Quyền hoàn tiền theo PSD2. Chuyển tiền Tín dụng SEPA là hình thức đẩy và được người tiêu dùng uỷ quyền khi quét. Quyền hoàn tiền theo PSD2 vẫn áp dụng (ví dụ: giao dịch trái phép trong vòng 13 tháng). Người bán hàng phải lưu trữ riêng hồ sơ uỷ quyền đã ký; bản thân QR không phải là hợp đồng.
Tương thích với ứng dụng ngân hàng
| Ứng dụng / khu vực | Hỗ trợ Girocode | Ghi chú |
|---|---|---|
| Sparkasse (DE) | Gốc | Mục tiêu ban đầu của Girocode. Hỗ trợ đầy đủ. |
| Volksbank / Raiffeisen (DE, AT) | Gốc | Hỗ trợ đầy đủ trong VR-BankingApp. |
| Deutsche Bank, Commerzbank, Postbank (DE) | Gốc | Quét qua luồng "Überweisung" trong ứng dụng di động của họ. |
| ING (DE / NL) | Gốc | Ứng dụng NL cũng quét QR iDEAL. |
| N26, Revolut | Gốc | Hỗ trợ đầy đủ trên tất cả các quốc gia được hỗ trợ. |
| Erste Bank, Bank Austria (AT) | Gốc | Áo áp dụng Girocode cùng với Đức. |
| Crédit Agricole, BNP Paribas (FR) | Một phần | Một số ngân hàng Pháp quét Girocode, phần lớn vẫn ưa định dạng tham chiếu giấy cũ. |
| Camera iOS/Android thông thường | Không | Camera gốc không phân tích định dạng văn bản BCD như một ý định thanh toán. Người dùng phải mở ứng dụng ngân hàng trước. |
Xem thêm
- /epc-girocode-qr-code/, trình tạo Girocode với xác thực IBAN và mã hoá trực tiếp.
- /sepa-qr-code/, trình tạo QR Chuyển tiền Tín dụng SEPA (cùng định dạng cơ bản).
- /standards/swiss-qr-bill/, Swiss QR-bill, giải pháp thay thế khu vực cho chuyển tiền CHF/IBAN Thụy Sĩ.
- /standards/, quay lại mục lục tiêu chuẩn.