결제 프로세서 백엔드 구축
발행: (2025년 12월 14일 오전 01:33 GMT+9)
3 min read
원문: Dev.to
Source: Dev.to
핵심 기능
- JWT 인증 및 역할 기반 접근 제어 – Admin, Merchant, Customer 역할을 갖는 토큰 기반 인증
- 멱등성 키 – 재시도나 네트워크 문제로 인한 중복 트랜잭션 방지
- 낙관적 락킹 – JPA와 자동 재시도 로직을 이용해 동시 결제 처리
- 다단계 결제 파이프라인 – 5단계 처리:
PENDING → VALIDATED → AUTHORIZED → CAPTURED → SETTLED - 지능형 사기 탐지 – 위치, 속도, 실패 이력, 자금 등을 실시간으로 점수화하여 검사
- 재시도 로직이 포함된 웹훅 알림 – 지수 백오프(최대 5회 시도)로 자동 재시도
- 이중 결제 수단 지원 – 신용카드(즉시 정산)와 은행 계좌(일일 검증)
- 유연한 환불 시스템 – 정책 적용을 포함한 부분 환불 및 전체 환불 지원
- 스케줄된 배치 처리 – 은행 결제 검증 및 웹훅 재시도를 위한 일일 작업
- 포괄적인 테스트 – 서비스 레이어와 엣지 케이스를 커버하는 JUnit 및 Mockito 단위 테스트
- Docker 컨테이너화 – MySQL 데이터베이스와 함께 제공되는 전체 Docker Compose 설정
- Swagger 문서가 포함된 RESTful API
- 인터랙티브 테스트 인터페이스가 포함된 전체 API 문서
배운 점
- 재시도로 인한 중복 입력을 방지하기 위해 멱등성 키를 사용하는 방법
- 낙관적 락킹으로 레이스 컨디션을 처리하는 방법
- 상태 머신을 구축하는 방법