<aside> 📎
Github : ‣
Test : 🟢SimplePG-1.0.0
| 기간 | 2025.04.21 ~ 2025~05.26 |
|---|---|
| 구성원 | BE 1명 |
| 담당 역할 | BE |
| 구현 기능 | - 결제 요청/승인/취소 API 및 상태 관리 - HMAC 서명 기반 API 인증 시스템 - 동시성 제어 및 중복 결제 방지 - 웹훅 기반 비동기 결제 처리 및 가맹점 알림 |
| 기술 스택 | Java, Spring Framework 5.3.37, MyBatis, MySQL, Postman, JSP, Azure |
| </aside> |
<aside> 📝
SimplePG는 스프링 프레임워크와 JSP 테스트 페이지로 구성된 간단한 전자결제 서비스입니다. PG 서비스의 흐름을 실제로 구현하고 이해하는 것을 목표로 진행한 프로젝트입니다.
가맹점의 결제 요청, 취소, 상태 조회, 웹훅 응답 등을 처리하는 백엔드 API를 제공하며 보안과 무결성 그리고 이를 기반으로 외부 서버와의 데이터 동기화에 초점을 맞췄습니다.
특히 결제 상태의 정확한 동기화와 데이터 무결성을 보장하기 위해 트랜잭션 처리와 외부 API 요청/응답의 실패 시 재처리 및 시스템 간 일관성 유지 방안에 대해 고민하고 설계했습니다.
</aside>
<aside> 💡
금융 도메인의 복잡성과 안정성을 경험하고자 PG 서비스를 선택했습니다. 단순한 CRUD 이상으로 보안, 동시성, 외부 연동, 예외 처리 등 백엔드 개발의 핵심 역량을 종합적으로 경험할 수 있는 프로젝트라고 생각했습니다.
</aside>

paymentKey를 생성합니다.MockController)이 PG에 웹훅으로 결제 결과를 알립니다.WebhookContext를 통해 상태에 따른 처리합니다.paymentKey로 결제 상태를 조회합니다.