국경 간 결제

해외 결제 앱 다운로드 10만 건 이상 달성

travel check
Industry
금융 및 은행
Service
모바일, 블록체인, 웹
Tech stack

모바일: Flutter 3.38.7, Dart, GetX, Retrofit/Dio, Socket.IO, Web3dart.

백엔드: NestJS/TypeScript, PostgreSQL, MikroORM/TypeORM, Redis, Bull/BullMQ, Socket.IO, Google Pub/Sub/Cloud Storage, 트랜잭션 흐름 추적을 위한 Neo4j.

웹 및 운영: React 18, Nx/Vite, Ant Design/Refine; Next.js 14/Tailwind

인프라: Docker, Kubernetes/Helm, Nginx Ingress, Redis Sentinel

Timeframe
8개월 이상
Involvement
-

고객사는 한국의 핀테크 기업으로, 해외 여행객들이 보다 간편하게 국경 간 결제를 이용할 수 있도록 하고자 했습니다.

당시 해외에서 자금을 관리하려면 다양한 결제 수단과 통화, 금융 서비스를 각각 이용해야 했기 때문에 여행객들에게는 복잡한 과정이 될 수 있었습니다. 이에 고객사는 이러한 서비스를 하나의 모바일 플랫폼에 통합해 여행객들이 보다 간편하게 자금을 관리할 수 있도록 하는 것을 목표로 했습니다.

이를 실현하기 위해 제품, 아키텍처, 엔지니어링, QA, DevOps 분야의 전문가 14명으로 구성된 Synodus 팀이 고객사와 긴밀하게 협력하며 8개월간 집중적으로 개발을 진행했습니다.

직면한 과제

국경을 넘어 실시간 금융 거래를 처리하는 현대적인 금융 플랫폼을 구축하는 과정에서는 여러 과제를 해결해야 했습니다.

  • C다양한 결제 서비스 연동: 앱은 법정화폐, 암호화폐 지갑, 가상카드, P2P 송금 기능을 하나의 간편한 인터페이스에 통합해야 했습니다.
  • 모든 거래의 정확성 보장: 금융 거래는 매번 정확하게 기록되어야 합니다. 블록체인, 외부 서비스 제공업체, 플랫폼 자체 원장 간에 데이터가 이동하는 과정에서 거래가 중복되거나 누락되지 않도록 해야 했습니다.
  • 사용자 데이터 보호: 플랫폼은 민감한 신원 및 금융 정보를 처리하기 때문에 한국의 금융 관련 요건을 준수하면서 eKYC, AML 모니터링, 생체인증, 다중요소인증(MFA)을 적용해야 했습니다.
  • 다양한 사용자와 운영 환경 지원: 여행객, 현지 에이전트, 내부 운영팀은 각각 서로 다른 포털이 필요했으며, 플랫폼은 UAT, Staging, Performance, Production 환경에서 안정적으로 운영되어야 했습니다.

Synodus의 솔루션

복잡한 시스템 구조가 사용자 경험까지 복잡하게 만들지 않도록, Synodus는 모듈형 이벤트 기반 아키텍처를 중심으로 플랫폼을 구축했습니다.

모바일 앱 엔지니어링팀은 Flutter와 GetX를 활용해 온보딩, 지갑 관리, QR 결제, P2P 환전, 가상카드 등의 기능을 지원하는 반응성이 뛰어난 앱을 개발했습니다.

앱의 백엔드는 NestJS와 PostgreSQL을 기반으로 구축했으며, 36개의 독립적인 도메인 모듈로 구성했습니다. 이를 통해 인증, KYC, 송금, 알림 등의 핵심 기능이 독립적으로 작동할 수 있도록 했으며, 특정 영역의 변경이 전체 시스템에 영향을 미칠 위험을 줄였습니다.

금융 거래는 비동기적으로 처리되는 경우가 많기 때문에 Redis와 BullMQ를 이벤트 폴러와 함께 활용해 동시성을 제어하고, 거래 처리 순서를 유지하며, 가상카드 발급과 같이 실패한 프로세스를 다시 처리할 수 있도록 했습니다. 또한 블록체인 개발도 솔루션의 중요한 부분으로, 블록체인 기반 거래를 플랫폼의 금융 업무 프로세스와 연동할 수 있도록 구현했습니다.

자금 흐름을 보다 명확하게 파악할 수 있도록 Neo4j를 도입해 거래 흐름을 시각적으로 추적할 수 있는 구조를 구축했습니다. 이를 통해 수수료를 추적하고 자금 이동 경로를 파악하며 이상 거래 및 사기 조사에도 활용할 수 있도록 했습니다.

인프라는 Docker, Kubernetes, Helm, Redis Sentinel을 기반으로 구축했습니다. 이를 통해 필요에 따라 서비스를 확장하고 각 운영 환경을 분리하며, 플랫폼을 중단하지 않고도 업데이트를 배포할 수 있도록 했습니다.

주요 성과

8개월간의 개발을 통해 앱은 기술적 측면과 비즈니스 측면 모두에서 의미 있는 성과를 달성했습니다.

실제 운영이 가능한 애플리케이션에는 145개의 네임드 라우트, 36개의 백엔드 도메인 모듈, 그리고 서로 다른 운영 요구사항을 위한 6개의 전용 웹 운영 포털이 포함되었습니다. 웹 앱 엔지니어링을 통해 사용자 대상 업무부터 내부 운영 프로세스까지 폭넓게 지원할 수 있도록 구축했습니다.

무엇보다 플랫폼 전반에서 금융 데이터의 일관성을 유지할 수 있도록 설계했습니다. UAT, Staging, Performance, Production 환경에서 거래 중복 0건을 달성했으며, 개별 서비스나 외부 제공업체에 장애가 발생하더라도 안정적으로 거래를 처리할 수 있도록 대체 처리 메커니즘을 적용했습니다.

또한 실제 대규모 사용자 환경에서도 플랫폼의 확장성을 입증했습니다. 현재 iOS와 Android에서 앱 다운로드 10만 건 이상을 달성했으며, 8만 개 이상의 등록 계정을 지원하고 있습니다.

다음 단계

핵심 플랫폼 구축을 완료한 현재, 고객사는 더욱 원활한 결제 경험을 제공하기 위한 다음 단계로 나아가고 있습니다.

다음 단계에서는 사용자가 가상카드를 Apple Wallet과 Samsung Wallet에 직접 추가할 수 있도록 하는 데 집중하고 있습니다. 이를 위해 디지털 지갑 연동 및 토큰화 SDK와 함께 Push Provisioning 및 엔드투엔드 보안 인증을 통합하고 있습니다.

목표는 여행객들이 별도의 결제 앱을 관리하거나 실물 카드를 휴대할 필요 없이, 간단한 태그만으로 카드를 사용할 수 있도록 하는 것입니다.

안전하고 확장 가능한 핀테크 플랫폼을 구축하고자 한다면, Synodus가 아이디어를 현실로 구현하는 과정을 함께하겠습니다.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

Other project
Whenever you’re ready, let’s talk about your project!
We use cookies to bring the best personalized experience for you. By clicking “Accept” below, you agree to our use of cookies as described in the Cookie policy