실시간 펌뱅킹
펌뱅킹이란
매월 급여일, 수천 명의 직원 계좌로 급여를 지급해야 한다고 생각해보세요. 담당자가 인터넷뱅킹에 접속해 한 건씩 처리하는 건 현실적으로 불가능합니다. 협력사 대금 정산, 고객 환불도 마찬가지입니다. 금융 업무량이 많아질수록 사람이 직접 처리하는 방식은 한계에 부딪힙니다.
펌뱅킹(Firm Banking)은 기업의 내부 시스템이 은행과 직접 연결되어 금융 거래를 자동으로 처리하는 서비스입니다. 헥토파이낸셜을 통해 연동하면 국민은행, 신한은행, 우리은행 등 여러 은행과 한 번에 연결할 수 있어, 각 은행과 개별 계약하고 시스템을 따로 개발하는 수고를 덜 수 있습니다.
이런 서비스에 적합합니다
- 급여 자동 지급 : 급여일마다 수천 명의 직원 계좌로 일괄 이체를 자동 처리합니다.
- 대금 정산 : 협력사, 파트너사에 대한 정기적인 대금 지급을 시스템이 직접 처리합니다.
- 구독 서비스 수납 : 고객 계좌에서 월 이용료, 보험료 등을 자동으로 출금합니다.
- 환불 자동화 : 주문 취소나 환불 요청이 발생하면 고객 계좌로 즉시 이체합니다.
- 실시간 입금 확인 : 기업 계좌에 입금이 발생하면 내부 시스템으로 즉시 통지받습니다.
지원 기능
원화와 외화 모두 지원하며, 이체부터 조회·통지까지 기업 자금 업무에 필요한 기능을 제공합니다.
| 기능 | 설명 | 원화 | 외화 |
|---|---|---|---|
| 지급이체 | 당행/타행 계좌로 실시간 이체. 급여 지급, 협력사 대금 정산 등에 활용됩니다. | O | O |
| 집금이체 | 당행 계좌에서 자동으로 출금 수납. 구독 서비스, 정기 출금 등에 활용됩니다. | O | O |
| 계좌성명 조회 | 이체 전 수취인 계좌의 예금주명을 확인합니다. 이체 오류를 사전에 방지합니다. | O | O |
| 잔액 조회 | 기업계좌의 현재 잔액을 조회합니다. | O | O |
| 이체결과 조회 | 처리된 이체 거래의 결과를 확인합니다. Timeout 발생 시 반드시 사용해야 합니다. | O | O |
| 거래명세 통지 | 기업계좌에 입출금이 발생하면 기업 시스템으로 실시간 통지됩니다. | O | O |
| 환율 조회 | 외화 이체 전 현재 환율 정보를 조회합니다. | X | O |
가상계좌 VAVS
가상계좌 입금·취소·수취조회·송금을 은행과 직접 전문으로 연동해야 한다면 별도 서비스인 VAN 가상계좌(VAVS) 를 이용하세요. 원화 펌뱅킹과 같은 TCP/IP 고정길이 방식이지만, 공통부·거래코드 체계가 다른 별도 규격입니다.
VAN 가상계좌는 별도 서비스예요
서비스 이해하기
펌뱅킹 거래는 기업 시스템에서 출발해 금융망(VAN)을 거쳐 은행 내부 시스템까지 전달됩니다. 전체 과정은 일반적으로 수 초 이내에 완료되며, 아래 흐름도로 확인할 수 있습니다.
지급이체 흐름
거래명세 통지 흐름
이체결과 조회 필수
각 단계에서 어떤 일이 일어나는지 더 자세히 들여다보고 싶다면 펌뱅킹 거래 흐름 구조 정리에서 확인하세요.
통신 방식
펌뱅킹은 일반 HTTP REST API가 아닌 TCP/IP 소켓 통신을 사용합니다. 소켓 연결을 유지한 채로 전문을 연속으로 주고받기 때문에 대량 처리에 유리하지만, 별도의 소켓 클라이언트 프로그램 개발이 필요합니다.
| 항목 | 원화 | 외화 |
|---|---|---|
| 프로토콜 | TCP/IP 소켓 | TCP/IP 소켓 |
| 전문 크기 | 공통부 100B + 개별부 200B = 300B | 공통부 100B + 개별부 1900B = 2000B |
| 실제 송수신 크기 | Length Header 4B + 전문 300B = 304B | Length Header 4B + 전문 2000B = 2004B |
| 인코딩 | EUC-KR | EUC-KR |
| 연결 방식 | 동기(요청 후 응답) / 비동기(세션 유지) | 동기(요청 후 응답) / 비동기(세션 유지) |
전문(Message) 구조
전문은 은행 시스템과 기업 시스템이 서로 이해할 수 있는 약속된 데이터 형식입니다. 모든 전문은 공통부와 개별부 두 영역으로 구성되며, 이 구조를 기반으로 이체·조회·통지 등 모든 거래가 처리됩니다.
전문번호 Unique Key
실제 필드 구성과 예시 데이터까지 풀어서 정리한 글도 있습니다. 펌뱅킹 전문(Message) 구조 이해하기
주요 기능 및 특징
전문 구조를 이해했다면, 이제 각 기능이 실제로 어떻게 동작하는지 살펴봅니다.
| 기능 | 설명 | 참고 |
|---|---|---|
| 지급이체 | 당행/타행 계좌로 실시간 이체. 급여 자동 지급, 협력사 대금 정산, 고객 환불 처리 등에 사용됩니다. | 처리 순서: 계좌성명 조회(6000/100) → 이체 요청(2000/100) |
| 집금이체 | 고객의 당행 계좌에서 자동으로 출금. 구독 서비스 정기 결제, 월 이용료 자동납부, 보험료 수납 등에 활용됩니다. | 사전에 수납출금계좌등록(2000/550)으로 고객 계좌 등록 필요 |
| 거래명세 통지 | 기업계좌에 입출금이 발생하면 기업 시스템으로 즉시 통지. 실시간 입금 확인, 무통장 입금 확인 등에 활용됩니다. | 명세통지 수신을 못받은 경우, 명세통지결번을 이용하여 결번통지 재수신 (4000/200) |
| 비동기 세션 유지 | 연결을 유지한 채로 전문을 지속적으로 주고받을 수 있습니다. | 세션 유지를 위해 5분마다 Polling 전문 송신 필요 |
주의사항
| 항목 | 내용 |
|---|---|
| 업무개시 전문 필수 | 매일 업무 시작 전 업무개시 전문(1000/100)을 반드시 송신해야 합니다. 미송신 시 당일 이체 전문이 처리되지 않습니다. |
| Timeout 재시도 금지 | Timeout이 발생해도 은행에서 이미 정상 처리된 경우가 있습니다. 반드시 이체처리결과조회(7000/100)로 거래 상태를 먼저 확인한 후 재처리 여부를 판단해야 합니다. |
| 중복 이체 방지 | 이체 요청마다 고유한 전문번호를 사용하고, 재시도 전 반드시 거래 상태를 조회해야 합니다. 확인 없이 재시도하면 중복 이체 사고로 이어질 수 있습니다. |
| 타행이체불능 처리 | 타행이체불능 통지(3000/100)를 사용하는 경우, 이체 응답 코드가 정상이더라도 이후 불능 통지가 수신될 수 있으며 이를 최종 결과에 반드시 반영해야 합니다. |
| 전문 포맷 엄수 | 고정길이 전문 방식이므로 필드 길이, 위치, 인코딩이 정확해야 합니다. 형식이 어긋나면 은행 시스템에서 오류 코드를 반환합니다. |
| 서비스 신청 필요 | 실시간 펌뱅킹은 별도 계약 및 은행 심사가 필요합니다. 영업담당자를 통해 문의해 주세요. () |
