블로그로 돌아가기
제품

IBAN 검증: 체크섬 그 이상

Josselin Liebe
Josselin Liebe

대부분의 IBAN 검증 라이브러리는 모듈로-97 체크섬만 실행합니다. 이것은 오타를 잡아내지만, 은행이 실제로 존재하는지, BIC 코드가 무엇인지, SEPA에 참여하는지는 알 수 없습니다. Veille IBAN 검증 API(GET /v1/vat/iban)는 수학적 검사와 함께 전체 은행 세부 정보를 반환하여 더 나아갑니다.

API가 반환하는 내용

모든 IBAN에 대해 다음을 얻습니다: valid(불리언), bank_name, bic(SWIFT 코드), country_code, country_name, 구조적 분류(bank_code, branch_code, account_number, bban), 그리고 in_sepa_zone.

빠른 통합

Python

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.veille.io/v1"

response = requests.get(
    f"{BASE_URL}/vat/iban",
    params={"query": "FR7630006000011234567890189"},
    headers={"x-api-key": API_KEY},
)
data = response.json()

if data["valid"] and data["in_sepa_zone"]:
    print(f"SEPA-ready - {data['bank_name']} (BIC: {data['bic']})")
else:
    print("IBAN invalid or outside SEPA zone")

TypeScript

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.veille.io/v1";
const headers = { "x-api-key": API_KEY };

const response = await fetch(
  `${BASE_URL}/vat/iban?query=FR7630006000011234567890189`,
  { headers }
);
const data = await response.json();

if (data.valid && data.in_sepa_zone) {
  console.log(`SEPA-ready - ${data.bank_name} (BIC: ${data.bic})`);
} else {
  console.log("IBAN invalid or outside SEPA zone");
}

주요 응답 필드

  • valid - 전체 구조 및 체크섬 검증
  • bank_name - IBAN 뒤의 금융기관
  • bic - 라우팅을 위한 BIC/SWIFT 코드
  • in_sepa_zone - 은행이 SEPA 이체를 지원하는지 여부
  • bank_code / branch_code / account_number - BBAN 분류

5가지 활용 사례

  1. 결제 양식 검증 - 사용자가 제출하기 전에 IBAN을 확인하고 은행명을 표시하여 실패한 이체를 줄입니다.
  2. SEPA 자동이체 - 거부된 출금을 피하기 위해 위임 설정 전 SEPA 구역 여부를 확인합니다.
  3. 공급업체 결제 - IBAN에서 BIC를 자동으로 확인하여 전신 송금 세부 정보를 미리 채웁니다.
  4. KYC 온보딩 - 은행 국가를 고객이 신고한 거주 국가와 대조 확인합니다.
  5. 지급 시스템 - 실패한 거래를 방지하기 위해 지급 예약 전에 프리랜서나 창작자의 IBAN을 검증합니다.

관련 글