금융

[금융] 오픈뱅킹 API 개념 정리

막무가내막내 2022. 11. 13. 16:52
728x90

 

[오픈뱅킹이란]

 

오픈뱅킹 등 대외망 업무를 하면서 일반적인 망거래와 다른 부분이 있어 처음에 이해가 좀 어려웠던 오픈뱅킹망에 대해 한 번 정리하는 포스팅을 하려했는데 이제서야 한다 :)

오픈뱅킹이란 모든핀테크 사업자와 금융기관이 개별 금융기관과 별도 제휴 없이도 핀테크서비스를 원활하게 제공할 수 있도록 핵심금융서비스(수취조회, 거래내역조회, 이체성 등)을 표준화된 API 를 제공하는 것이다. 

금융결제원이 중심 매개체가 되는 망이므로 당연히 오픈뱅킹 거래는 금융결제원(이하 금결원)의 오픈뱅킹망을 거치게된다.

 


 

[오픈뱅킹 구축배경]

처음 오픈뱅킹은 핀테크업체들이 금융기관(은행)의 서비스를 제공받아 쉽고 편리한 금융서비스 혁신을 위해 나온

서비스였지만 현재는 은행권들도 모두 사용하고 점점 더 사용범위가 넓어지고 있다.

그래서 다른 망에 비해 가장 혁신적이고 새로운 활용방안이 적용될 가능성이 높다고 생각한다.

 


[오픈뱅킹 구성주체]

오픈뱅킹공동망에서 API에 대해 살펴보기전 구성주체에 대해 알아야한다.

설명은 그림에 작성되있으니 추가로 간단하게 설명을 덧붙이겠다.

 

1. 참가기관 

오픈뱅킹의 서비스를 제공하는 금융기관으로 예를들어 A은행에서 당행(자기은행) 고객의 거래내역조회, 이체성 거래 등을 제공하는데 참여한 기관을 말한다. 

 

2. 오픈뱅킹센터(금결원)

오픈뱅킹 시스템을 구축 및 운영하고 거래의 중립(정합성)을 지키는 중심매게체로 금융결제원이라고 보면 된다.

만약 무응답, 시스템 에러 등이 발생해서 두 기관끼리의 거래가 어긋난다면 금융결제원에서 어떻게 처리하였는지로

정합성을 맞추게 된다.

 

3. 이용기관

오픈뱅킹 서비스를 일으키는 주체라고 보면된다.

예를들어 국민은행 스타뱅킹 앱에서 오픈뱅킹 거래로 타행의 잔액조회API를 불러온다면 

이용기관은 SOL앱으로 국민은행, 타행들은 API 서비스를 제공하는 참가기관이라고 이해하면 쉽다. 

 

4. 일반고객

오픈뱅킹 서비스를 사용하는 고객이다.

 

 


[오픈뱅킹 API 종류(이체성 거래 위주)]

 

오픈뱅킹에서는 위와 같이 다양한 API를 제공한다.

 

 

 

오픈뱅킹에는 다양한 API 서비스 중 4개의 다이어그램을 가져와봤는데 출금이체, 입금이체 API를 제외하고는 나머지는 모두 거래내역조회, 수취조회 API처럼 3개의 기관이 단순하게 일자로 요청/응답 받는 구조로 되어있다.

그래서 이해하기도 쉬우므로 이 포스팅에서는 조금 더 복잡한(?) 출금이체와 입금이체 API 에 대해 살펴보려한다. 

 

 

 

 

 

먼저 입금이체 API다.

입금이체 API는 이용기관의 계좌에서 출금하여 수취인계좌로 실시간 입금하는 기능을 제공한다.

여기서 중요한 키포인트는 출금되는 계좌가 이용기관이자 출금기관이 되고 수취 및 입금되는

계좌를 가진 기관은 입금기관이라는 점이다.

 오픈뱅킹 API 서비스를 일으키는 주체(이용기관)이 입금을 하는거면 입금이체API라고 이해하면 쉽다.

 

이 다이어그램에서는 작성되어있지 않지만 모든 이체성 거래는 사전에 입금되는 은행에 대한 수취조회를 선행으로 하게된다.

그리고 자체 은행이 없는 핀테크업체 같은 경우는 주거래은행(ex. 시중은행)을 정하여 모계좌를 지급받고 이 계좌를 그림에서 써져있는거와 같이 이용기관 지급계좌라로 보면 된다.

 

 

 

입금이체 API와 반대로 출금이체 API거래를 일으키는 주체(이용기관)가 타기관(출금기관)에 출금을 요청하여 입금기관(이용기관) 계좌에 입금을 하게 된다.

그리고 출금기관은 당연히 이용기관과 같은 사용자 계좌여야하고 사용자 인증이 된 상태어야한다. ㅎㅎ 타인의 계좌에서 마음대로 출금을 할 수 있다면 큰일이 나니깐...;;

이해하기 쉽게 예를들어 설명하면,

고객이 네이버페이앱의 오픈뱅킹서비스를 사용해서 고객 본인의 다른 A은행계좌에 출금이체 API를 사용한다면 고객의 A은행 계좌에서 돈이 출금되어 네이버페이(이용기관)의 수납계좌로 돈이 입금되는 것이다.

 

 

 

 

마지막으로 좀 더 심화로 들어가서 '홍길동'이라는 사용자가 A핀테크업체 앱에서 오픈뱅킹서비스를 사용해서 B은행 자신의 계좌에서 출금하여 친구인 '막내'의 C은행 계좌에 이체를 하려고 하면 어떤 과정으로 될까?

이것에 대한 과정을 스케치북을 사용해서 간단하게 그려봤다. ㅎㅎ

사전단계로는 먼저 사용자가 자신의 타행계좌가 오픈뱅킹 서비스의 조회 및 출금동의가 되어있어야 한다.

그리고 이체단계에서는 입금될 계좌에 대한 수취조회가 먼저 이루어지고 출금이체와 입금이체 API 가 함께 사용된다는 점을 보는것이 중요하다.

이 과정에 대해 이해했으면 거의 다 이해했다고 보면 될 것 같다.

 

 

추가로 무응답과 같은 예외사항 발생시 어떻게 처리하는지는 생략하도록 한다. (대외비인걸로 알아서..?)

 

 

 

이상 오픈뱅킹에 대해 정리하는 포스팅이었습니다 :)

 

[금결원 공식 사이트 참고]

https://www.openbanking.or.kr/apt/content/openplatform

 

오픈뱅킹

 

www.openbanking.or.kr

https://www.openbanking.or.kr/apt/content/openapi?location=openApi1 

 

오픈뱅킹

 

www.openbanking.or.kr

 

728x90