[MSA 페이_프로젝트]1️⃣ 페이 솔루션_기획

Welcome to Seoyun Dev Log·2024년 9월 8일
0

👛 SEO-BETTER-PAY 페이 솔루션
: 간편결제 페이 시스템 + 기업 급여 결제 관리 서비스

[프로젝트 환경 및 사용 기술]

  • Stack: Java17, Springboot 3.2.3, Gradle, MySql, DynamoDB, H2, JPA, Redis, springMVC, Spring security, JWT, Spring Cloud Gateway, Spring Cloud Config, Redis, AxonFramework, Valut, kafka
  • 사용한 API: 토스 결제 API
  • 인프라: AWS EC2, Docker
  • API 문서화: Swagger, Postman
  • tool: Slack

급여 간편결제 서비스를 기획한 이유

가족의 부탁으로 근로자 급여 신청 및 관리를 한적이 있습니다
세무사 수임을 하지 않은 소상공인은 근로자 급여 결제시 많은 절차와 세금 계산이 필요합니다.
세무사를 통하지 않고 근로자 관리를 하기에 어려움을 겪을 수 있는데
이는 아래와 같은 복잡하지만 꼭 해야하는 절차들과 관리 때문입니다.

수임을 하더라도 대표자가 본 절차를 자세히 알 수 있는 방법은 직접적인 상담뿐인데
이렇게 됐을 때 정보의 비대칭이 생길 수 밖에 없고 전적으로 세무사에게 맡기기에는 대표자가 알아야 할 사항들도 많습니다.

이체를 하기 위한 관리 계좌를 모두 확인해야하고, 이체를 위한 파일 정리, 대량 이체가 가능한 은행 섭외 등 급여를 지급 해야 할 인원이 늘어날 경우 더욱 어려움이 있겠다는 생각이 들었으며
아래 목록 이 외에도 많은 일들을 수행할 때 단계를 알려주는 가이드가 있다만 어떨까하여 기획하였습니다.

  • 급여명세서
  • 매달 진행하는 원천세 신고
  • 법정 공제 항목(소득세, 4대 보험료 등) 반영
  • 급여 이체 내역 별도 관리 혹은 뱅킹 어플리케이션을 이용한 검색
  • 급여 지급 규정
  • 매달 지정일에 근로 계약서에 따른 급여 기준에 맞는 급여 이체
    근무 시간, 연장/야간/휴일 근무 수당 반영 (기본급, 수당, 상여금 등)
  • 다양한 근무 형태 확인 후 지급(시급, 주급, 월급 등)

직접 송금 (대량이체 예시)

: 급여 대장 작성 후 은행 급여 대량 이체 서비스 이용하여 직접 송금
엑셀파일 업로드를 통해 이체 서비스 이용
(KB국민은행 예시)

(농협 예시)

🚩 이러한 과정들을

간편 결제 페이 서비스를 기본으로

  1. 때에 맞춰 사전알림, 당일알림 등 특정 알림으로 중요한 날짜를 잊지 않게 상기시켜 주기.
  2. 관리자가 급여관련 단계별 수행 절차 확인 가능.
  3. 급여 지급시 간편하고 빠르되 안전하게 대량 이체 가능.
  4. 급여 내역 관리 검색.
  5. 근로자/기업에 맞는 세금계산 및 공제 항목 계산.

최종적으로 위와 같은 서비스를 제공할 수 있도록 기획했습니다.

간편결제 규제

📌 한국에서 간편결제(페이) 시스템은 전자금융거래법 및 관련 규제의 적용을 받는데,
현 서비스에서는 검증된 간편결제 페이 정책을 적용하기에 어려움이 있어
(토스 페이 정책을 차용하였습니다)
https://docs-pay.toss.im/policy/service

홈택스 API

바로빌: https://dev.barobill.co.kr/docs/references/%ED%99%88%ED%83%9D%EC%8A%A4-%EB%A7%A4%EC%9E%85%EB%A7%A4%EC%B6%9C%EC%A1%B0%ED%9A%8C-API?src=text&kw=000206


💳 간편결제 페이 시스템

▶️ 사용자 요청: 사용자가 seo-better-pay 클라이언트를 통해 API 요청.
▶️ API Gateway: 요청이 API Gateway로 전달되고 API Gateway는 인증 토큰을 확인한 뒤, pre-api-secure 통해 사용자 토큰 유효성 검증.
▶️ 인증 확인: 인증이 성공하면, API Gateway는 요청을 해당 API 비즈니스 서비스 모듈로 라우팅
-> 토큰이 없는 경우 pre-api-secure에서 사용자 인증 토큰 / API 토큰 발급 후 API 비즈니스 서비스 모듈로 라우팅.
▶️ 비즈니스 서비스 처리: 해당 API 비즈니스 서비스 모듈이 요청을 처리하고 응답을 API Gateway로 반환.
▶️ 응답 반환: API Gateway가 사용자에게 최종 응답 반환.


비즈니스 서비스 분리
데이터 캐싱, task, batch, 조회/검색

인증 및 권한 관리 모듈

모듈명: pre-api-secure

  • 사용자 로그인/로그아웃 및 권한 관리
  • 결제 보안 (토큰화)
  • 데이터 암호화
  • 개인 정보 보호 및 관리

고도화

  • 2단계 인증
  • 보안 및 개인정보 보호 모듈

API Gateway

APIGateway

  • 모든 서비스에 대한 단일 진입점 제공
  • 요청 라우팅 및 인증 통합
  • 사용자 권한 검증

공통 서비스 모듈

모듈명: common / spring cloud config

  • Logging Service
  • 각 모듈 설정 / 환경 설정 버전 관리

API 비즈니스 서비스 모듈

4-1. 회원 모듈

membership-service

  • 회원가입 ( W )
  • 회원 정보 관리 ( R )
  • 회원 정보 수정 ( W )
  • 로그인
  • 로그아웃
  • 회원 조회 ( R )

4-2. 결제 및 송금 모듈

결제 모듈
모듈명: payment-service

  • 결제 요청 ( W )
  • 결제 성공 리스트 조회 ( R )
  • 결제 요청 시도 조회 ( R )
  • 결제 요청자 검색 ( R )
  • 결제건 상태 변경 ( W )
  • 결제 수단 등록, 수정, 삭제 ( W )
  • 결제 비밀번호 설정, 삭제 ( W )

송금 모듈
모듈명: wiretransfer-service

페이를 통해서 결제한다는 것은
기업 -> 기업 송금을 하는 것
따라서 결제와 송금을 하나의 모듈로 묶는 방법을 고려하고
규모가 커지는 경우에는 송금 서비스를 별도로 위치하는 방법을 생각하는 것이 좋다
오버 스팩이 될 수 있음

고도화
송금 기능
가족 및 그룹 결제

4-3. 페이머니 관리 모듈

money-service
W(Write), R(Read)

  • 머니 지갑 생성 ( W )
  • 머니 결제(사용) ( W )
  • 사용자 머니 잔액 조회 ( R )
  • 사용자 충전 히스토리 조회 ( R )
  • 회원간 머니 송금 ( W )
  • 머니 충전 요청 ( W )

4-4. 정산 모듈

모듈명: settlement-service

  • 정산 시스템

4-5. 카드 및 계좌 관리 모듈

  • 다중 카드 등록 및 관리
  • 카드 정보 업데이트
  • 은행 계좌 연동
  • 계좌 정보 업데이트 및 관리

외부 은행 요청

모듈명: openbanking-service

  • 토스 API
    (금융결제원 오픈 뱅킹 api 요청으로 했으나 본 API는 사업자와 금융 검증이 필요하므로 토스로 변경)
  • 거래 내역 및 통지 모듈
  • 거래 내역 조회
  • 거래 내역 검색 및 필터링

고도화

  • 실시간 알림
  • 사용자 설정 및 관리

시스템 로그 관리 / 모니터링 및 경고 설정

  • 시스템 로그 관리 및 검색
  • 모니터링 및 알림

간편 결제 서비스 구현 후 급여 대량 결제 및 관리 서비스로 고도화 및 확장할 예정으로
간편 결제 서비스 선 개발 중입니다.

profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글

관련 채용 정보