전체 연동 플로우
실시간 펌뱅킹은 TCP/IP 소켓 연결 → 전문 송수신 → 즉시 처리 방식으로 동작합니다.
전체 흐름
가맹점
헥토파이낸셜
은행
11. TCP/IP 소켓 연결
1. TCP/IP 소켓 연결
22. 거래 전문 송신 (지급/수납/조회)
2. 거래 전문 송신 (지급/수납/조회)
33. 은행으로 전문 전송
3. 은행으로 전문 전송
44. 은행 응답 수신
4. 은행 응답 수신
55. 거래 결과 응답
5. 거래 결과 응답
66. 노티 전문 송신 (필요시)
6. 노티 전문 송신 (필요시)
77. 노티 전문 전달
7. 노티 전문 전달
실시간 처리
실시간 펌뱅킹은 거래 요청 즉시 은행과 통신하여 결과를 응답합니다. 은행 점검시간 및 업무시간을 확인하세요.
통신 방식 선택
실시간 펌뱅킹은 두 가지 통신 방식을 지원합니다.
동기 통신 (거래별 연결)
거래 건별로 소켓 연결/종료를 수행합니다.
| 순서 | 단계 | 방향 |
|---|---|---|
| 1 | 소켓 연결 | 가맹점 → 헥토파이낸셜 |
| 2 | 거래 전문 송신 | 가맹점 → 헥토파이낸셜 |
| 3 | 거래 응답 수신 | 헥토파이낸셜 → 가맹점 |
| 4 | 소켓 종료 | 가맹점 → 헥토파이낸셜 |
| 구분 | 내용 |
|---|---|
| 장점 | • 구현이 간단함 • 세션 관리 불필요 |
| 단점 | • 매 거래마다 연결/종료 오버헤드 |
| 적합한 경우 | • 거래 빈도가 낮은 경우 • 단순한 구조를 선호하는 경우 |
비동기 통신 (세션 유지)
세션을 유지하면서 여러 거래를 처리합니다.
| 순서 | 단계 | 전문코드 | 방향 | 비고 |
|---|---|---|---|---|
| 1 | 소켓 연결 | - | 가맹점 → 헥토파이낸셜 | 1회 |
| 2 | 거래 전문 송신 | 지급, 수납, 조회 등 | 가맹점 → 헥토파이낸셜 | 반복 |
| 3 | 거래 응답 수신 | - | 헥토파이낸셜 → 가맹점 | 반복 |
| 4 | Polling 전문 송신 | - | 가맹점 → 헥토파이낸셜 | 5분마다 |
| 5 | Polling 응답 수신 | - | 헥토파이낸셜 → 가맹점 | 5분마다 |
| 구분 | 내용 |
|---|---|
| 장점 | • 연결 오버헤드 감소 • 대량 거래 처리 효율적 |
| 단점 | • Polling 관리 필요 • 세션 관리 복잡도 증가 |
| 적합한 경우 | • 거래 빈도가 높은 경우 • 대량 거래 처리가 필요한 경우 |
NOTE
Polling 주기
세션 유지 방식 사용 시 5분(300초) 간격으로 Polling 전문을 송신하여 세션을 유지해야 합니다. 헥토파이낸셜 폴링은 5분동안 거래가 없을 시에 발생합니다.
1단계: 소켓 연결
가맹점 서버에서 헥토파이낸셜 펌뱅킹 서버로 TCP/IP 소켓 연결을 수행합니다.
연결 정보
| 항목 | 내용 |
|---|---|
| 프로토콜 | TCP/IP |
| 서버 IP | 헥토파이낸셜 제공 (계약 후) |
| Port | 헥토파이낸셜 제공 (계약 후) |
업무개시 전문
매일 업무 시작 전 업무개시 전문(1000/100)을 송신합니다.
관리 전문 문서
2단계: 거래 전문 송수신
연결이 완료되면 각종 거래 전문을 송수신합니다.
원화 펌뱅킹 주요 거래 유형
| 전문코드 | 업무구분 | 거래 종류 |
|---|---|---|
| 2000 | 100 | 지급이체 (당타행 송금) |
| 2000 | 200 | 집금이체 (출금이체) |
| 2000 | 550 | 자동이체 계좌등록 |
| 6000 | 100 | 예금주조회 |
| 7000 | 100 | 처리결과조회 |
| 7000 | 200 | 잔액조회 |
| 7000 | 300 | 자금이체집계 |
| 7000 | 400 | 출금이체집계 |
| 3000 | 100 | 타행이체불능통지 |
| 3000 | 200 | 타행이체불능통지결번 |
| 4000 | 100 | 예금거래명세통지 |
| 4000 | 200 | 예금거래명세통지결번 |
외화 펌뱅킹 주요 거래 유형
| 전문코드 | 업무구분 | 거래 종류 |
|---|---|---|
| 2000 | 400 | 외화송금의뢰 |
| 2000 | 401 | 외화송금의뢰(MX) |
| 2000 | 420 | 외화 자동이체 |
| 2000 | 520 | 외화 자동이체 약정 등록 |
| 2000 | 600 | 외화송금의뢰 취소 |
| 3000 | 700 | 외화송금결과 통지 |
| 3000 | 701 | 외화송금결과통지(MX) |
| 3000 | 800 | 외화송금결과 통지결번 |
| 3000 | 801 | 외화송금결과통지 결번(MX) |
| 6000 | 450 | 국내 외화 예금주명 조회 |
| 6000 | 521 | 환율정보거래 |
| 7000 | 800 | 외화송금집계 |
| 7000 | 900 | 외화예금 잔액조회 |
| 7000 | 950 | 국내 외화송금/자동이체 처리결과조회 |
| 8000 | 601 | 외화거래 명세통지 |
| 8000 | 701 | 외화거래 명세통지 결번 |
전문 구조
펌뱅킹 전문 구조 (원화)304 bytes
Length 헤더4B · offset 0
전문 길이4 · 0
공통부100B · offset 4
식별코드9 · 4
업체번호12 · 13
은행코드3 · 25
전문구분코드4 · 28
업무구분코드3 · 32
전문번호6 · 35
전송일자8 · 41
전송시간6 · 49
응답코드4 · 55
예비영역44 · 59
개별부200B · offset 104
거래별 상세 정보200 · 104
필수
선택
응답전용 / 예비
길이 · 위치펌뱅킹 전문 구조 (외화)2004 bytes
Length 헤더4B · offset 0
전문 길이4 · 0
공통부100B · offset 4
식별코드9 · 4
업체번호12 · 13
은행코드3 · 25
전문구분코드4 · 28
업무구분코드3 · 32
전문번호6 · 35
전송일자8 · 41
전송시간6 · 49
응답코드4 · 55
예비영역44 · 59
개별부1900B · offset 104
거래별 상세 정보1900 · 104
필수
선택
응답전용 / 예비
길이 · 위치3단계: 응답 수신 및 처리
거래 전문 송신 후 즉시 응답을 수신합니다.
응답 코드 확인
공통부의 응답코드(52번째 위치, 4자리)를 확인합니다.
| 응답코드 | 의미 | 처리 |
|---|---|---|
| 0000 | 정상 | 거래 성공 |
| 기타 | 오류 | 은행별 오류 메시지 확인 (은행오류코드집 참조) |
응답 코드 예시
| 코드 | 설명 |
|---|---|
| 0000 | 정상처리 |
| 9999 | 시스템 장애 |
| 1001 | 계좌번호 오류 |
| 1002 | 금액 부족 |
| 1003 | 예금주 불일치 |
응답 코드 필수 확인
거래 성공 여부는 반드시 응답코드를 확인하여 판단해야 합니다. 소켓 응답 수신 자체는 거래 성공을 의미하지 않습니다.
4단계: 노티 수신 (필요시)
일부 거래는 은행에서 가맹점으로 노티(통지) 전문을 송신합니다.
노티 수신 대상 전문
| 노티 종류 | 전문코드 | 설명 |
|---|---|---|
| 거래명세통지 | 4000/100 | 지급/수납 거래 명세 |
| 지급불능통지 | 3000/100 | 지급 실패 통지 |
노티 수신 프로세스
| 순서 | 단계 | 방향 | 설명 |
|---|---|---|---|
| 1 | 노티 전문 송신 | 은행 → 가맹점 | 거래 결과 통지 |
| 2 | 노티 응답 송신 | 가맹점 → 은행 | 수신 확인 |
NOTE
노티 수신 서버 필요
노티를 수신하려면 가맹점 서버에서 TCP/IP 수신 서버를 운영해야 합니다. 노티 수신 서버의 IP와 Port를 헥토파이낸셜에 전달하세요.
오류 처리
통신 오류
| 오류 상황 | 처리 방법 |
|---|---|
| 응답 타임아웃 | 거래결과 조회로 확인 |
| 전문 오류 | 응답코드 확인 후 재처리 |
거래결과 조회 활용
통신 오류로 응답을 받지 못한 경우, 반드시 거래결과 조회(7000/100)로 거래 성공 여부를 확인해야 합니다. 중복 거래 방지를 위해 필수입니다.
집계 조회
일별 거래 집계를 조회할 수 있습니다.
