[ Spring Boot ] TossPayment API 중복 거래 결제 방지하기 (멱등성 보장)
·
Spring Boot
개요이전의 프로젝트에서 결제 도메인을 담당했었고 토스페이먼츠를 구현하는데 시간이 부족해 핵심 구현만 빠르게 진행하고 그뒤에 보수를 하지못했다. 다른 사람들이 한걸보니까 중복결제가 안되도록 헤더의 결제의 고유 값을 포함해 전달해 통신의 문제가 생겼을경우가 api 요청이 올바르게 되지않은 경우에 중복결제가 되는것을 방지하도록 한걸 보았다. 오늘은 기존의 결제 로직과 결제 엔티티를 리팩터링하는 과정을 가져보도록한다. 멱등성이란?어떤 연산을 여러 번 수행해도 결과가 단 한 번 수행한것과 같은 성질을 의미한다.간단하게 하나의 api를 몇 번을 호출해도 항상 똑같은 결과가 나오는 것을 말하낟. 결제 시스템처럼 돈과 관련된 중요한 처리에서는 멱등성이 상당히 중요하다.개요에서 설명한 거 처럼 결제 버튼을 눌렀는데 네..