brunch

You can make anything
by writing

C.S.Lewis

by 금융앱빌런 Mar 24. 2024

외부연계 : 화면 vs 데이터 연계

금융사 내의 제휴사 서비스는 어떤 방식일까?

저희는 웹뷰, iframe, API 중에 원하는 형태로 제공 가능해요.


 네? 그게 뭔가요? 라고 척수반사를 할 뻔 했지만 다행히 그전에 멈췄다. 금융 회사들은 최근 빅테크와 경쟁하며 다양한 생활서비스를 도입하려고 하고 있다. 그러나 금융회사는 생각보다 할 수 있는게 없다. 법에서 할 수 있는 업무들을 정의해 놓았기 때문이다. 그래서 직접 하는 대신 다양한 서비스와 연계해 서비스를 확장해 나간다. 대외계 설명에서 외부 연동과 관련된 내용을 일부 다뤘기에 이번 포스팅에서는 외부 연동의 방식에 대해서 다루고자 한다.


제휴사의 화면을 직접 보여주는 웹뷰(Webview)


 카카오톡에서 친구가 보내준 링크를 생각해 보자. 링크를 누르면 카카오톡 아래에서 위로 창이 올라오며 해당 페이지로 이동하는 것을 볼 수 있다. 이러한 방식이 바로 웹뷰이다. 웹뷰는 Android나 iOS와 같은 모바일 운영 체제에서 네이티브 앱 내에서 웹 페이지를 보여주는 방식이다. 앱 내에서 내장된 브라우저가 켜지며 제휴사의 화면으로 이동해 서비스를 이용하게 해 주는 것이다. 금융앱을 사용하면서 봤을 법한 가장 대표적인 웹뷰는 NICE의 본인인증 화면일 것이다.


카카오톡 내에서 브라우저가 실행된 화면

 이런 웹뷰는 제휴사의 화면이다. 즉 서비스 제공자 입장에서는  브라우저가 켜진 이후에는 무엇이 일어나는지 알 수 없다는 것이다. 따라서 회원 연동이 필요한 서비스는 파라미터에 고객식별자를 붙여서 화면을 호출하기도 한다. 제휴사의 화면이기 때문에 개발도 비교적 용이하다. 웹뷰 연동만 개발하면 되기 때문이다. 또한 제휴사의 서비스 변경이 있을 때 대응해 줄 것이 없는 경우가 많기 때문에 유지 보수도 편리하다. 그러나 네이티브 화면이 아니기 때문에 아무래도 사용성이 떨어지고, UI통일성을 해칠 수 있다. 더군다나 이것이  제휴사 서비스라는 걸 고객이 알아주지 않기 때문에, CS처리에도 문제가 생길 수 있다. 금융사에 강성 CS가 걸려도 우리 서비스가 아니어서 제휴사에 확인을 해야 하기 때문이다. 고객 입장에서야 왜 민원 처리 안해주고 핑퐁치냐 하겠지만... '진짜' 모른다.


제휴사와 데이터를 주고 받아 연동하는 API 연동


 그러면 제휴사의 화면을 호출하지 않고 연동할 수는 없을까? API연동으로 데이터를 주고 받는 방식이 있다. 서로 약속한 연동규격을 따라 금융사에서 제휴사로 데이터를 전송하고, 제휴사에서 전송받은 데이터를 가지고 금융사에서 직접 화면을 구성하는 형태이다. 


 이렇게되면 제휴사 서비스라 해도 금융회사의 서비스에서 제공되는 것 마냥 UI/UX의 통일성을 유지할 수 있다. 그리고 해당 서비스 이용을 통해 쌓이는 로그 등의 데이터도 함께 분석이 가능하다. 고객 민원이 들어왔을 때도 당사에 쌓인 데이터를 바탕으로 처리하는 것이 가능하다. 그러나 API연동을 하려면 개발이 더 많이 필요하다. 제휴사 화면을 호출하고 끝내는 웹뷰와는 다르게 API는 데이터를 전송받은 뒤 어떻게 구성하는 화면에 대한 디자인, 퍼블 및 개발이 필요하다. 그리고 제휴사에서 서비스 변경이 있다고 한다면 거기에 맞춰서 해당 화면에 변경이 필요하다. 늘 개발 리소스가 부족한 금융IT에서 제휴사 대응이 지속적으로 필요한 서비스를 늘리는 것은 쉽지 않은 일이다.


좋다고 하지만 쉽지 않은 SDK 연동


 SDK(Software Development Kit)는 특정한 기능을 구현하기 위한 개발 도구 모음을 의미한다. 제휴사의 SDK 연동을 할 경우, 금융사에서 운영하는 서비스에서는 제휴사의 특정 기능을 하는 API를 호출하고, SDK 에서는 해당 기능을 사용해 서비스를 제공한다. 외부 서비스에서 제공하는 기능을 직접 구현하지 않아도 되니 개발 측면에서 이점이 있다. 그리고 제휴사 입장에서는 우리와만 제휴하는 것이 아니다 보니, SDK만 관리하면 되는 이 방식을 선호하는 경우가 많다.


 그러나... 치명적인 문제가 있으니 의존성이 생긴다는 것이다. 제휴사의 SDK가 변경되면 거기에 맞춰서 금융사의 서비스도 업데이트가 되어야 한다. 또한,  SDK가 앱 내에 추가되면 앱의 용량이 커질 수도 있다.  또한 보안 이슈도 있다. SDK가 사용자의 위치, 핸드폰번호, 계정 정보 등을 수집할 경우 이 정보가 외부로 노출될 수도 있기 때문이다. 


어떤 방식이 좋을까?


 이렇게 다양한 방법으로 제휴사 서비스를 연동할 수 있으나, 어떤 방식이 좋은지는 그때 그때 상황에 따라 다르다. 사실 나는 웹뷰 연동이 엉망으로 된 서비스들을 여러번 봐서, 웹뷰 연동을 좋지 않다고 생각했다. 그러나 토스가 웹뷰 형태로 서비스 연계를 아주 심리스하게 만든것을 보고 나서 역시 방법은 방법일 뿐, 어떻게 만드는지가 더 중요하다는 생각을 하게 되었다. 방식에 대해서 알고 있을 필요는 있지만 그보다 중요한 것은 고객에게 어떤 서비스를 제공하는 것이 좋을지 고민이 필요하다. 



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari