롯데ON의 카카오페이 결제 연동은 주문부터 결제 승인, 완료 페이지 렌더링까지 하나의 흐름으로 통합하고, @Transactional 기반 트랜잭션으로 데이터 일관성을 확보했으며, 세션을 활용해 주문 상태를 안전하게 유지합니다. 또한 RestTemplate을 통한 카카오페이 API 연동과 Service 계층 분리로 유연성과 안정성을 향상시켰습니다.

✅ 핵심 기술

✅ 성과

구조

src/ │── main/ │ └── java/ │ └── kr.co.lotteon/ │ │── controller/ │ │ └── product/ │ │ └── ProductOrderSubmitController.java │ │── service/ │ │ │── product/ │ │ │ └── OrderTransactionService.java │ │ │ └── ProductOrderSubmitService.java │ │ └── kakao/ │ │ └── KakaoPayService.java │ │── repository/ │ │ │── order/ │ │ │ └── OrderRepository.java │ │ │ └── OrderItemRepository.java │ │ │── product/ │ │ │ └── ProductRepository.java │ │ │── coupon/ │ │ │ └── CouponIssueRepository.java │ │ │── cart/ │ │ │ └── CartRepository.java │ │ │── point/ │ │ │ └── PointRepository.java │ │ └── user/ │ │ └── UserRepository.java │ │ └── UserDetailsRepository.java │ │── entity/ │ │ │── order/ │ │ │ └── Order.java │ │ │ └── OrderItem.java │ │ │── product/ │ │ │ └── Product.java │ │ │── coupon/ │ │ │ └── CouponIssue.java │ │ │── cart/ │ │ │ └── Cart.java │ │ │── point/ │ │ │ └── Point.java │ │ └── user/ │ │ └── User.java │ │ └── UserDetails.java │ └── dto/ │ │── order/ │ │ └── OrderDTO.java │ │ └── OrderItemDTO.java │ │── product/ │ │ └── ProductDTO.java │ │── coupon/ │ │ └── CouponIssueDTO.java │ │── cart/ │ │ └── CartDTO.java │ │── point/ │ │ └── PointDTO.java

│ │── user/ │ │ └── UserDTO.java │ │ └── UserDetailsDTO.java │ └── kakao/ │ └── Amount.java │ └── KakaoApproveResponse.java

└── resources/ │── templates/ │ └── product/ │ └── order/ │ └── order_completed.html └── static/ └── js/ └── product/ └── order_completed.js

카카오페이 결제 전체 페이지

카카오페이.png