🌠 많은 PG사 중 카카오페이 선정 이유
- PG사 선정 중 카카오페이, 토스 페이먼츠, 아임포트 3가지를 고민
- 3개의 API 명세서를 모두 확인 결과, 카카오페이가 백엔드 개발자가 담당할 수 있는 부분이 많아서 선정
- 클라이언트와 협업 중 속도를 맞추기 위해, 백엔드 개발자가 결제를 더 중심적으로 다루기로 결정
💱 카카오 페이 “단건 결제” 진행 로직

<aside>
💡 카카오페이 결제 진행 단계
- 결제 준비 단계 : 유저가 구매를 요청하면, 저희 서버의 상품 정보를 카카오페이 서버로 전달하여 QR코드로 리다이렉트하는 단계
- 결제 승인 단계 : 유저가 결제를 성공 또는 실패함에 따라 카카오페이 서버로부터 결과를 응답받는 단계
</aside>
‘%호텔’ 카카오페이 결제 REST DOCS (현재 서버 다운)
Kakao Developers
‘카카오페이’ 단건 결제 API 명세서
카카오페이 단건 결제 전체 service 코드
1. 결제 준비하기
🔗 카카오 단건 결제 준비하기
- 클라이언트로부터 ‘%호텔’의 결제할 상품에 대한 정보(구매자 정보, 상품 정보)를 전달받음
- 결제 준비 API의 응답으로 RedirectURL을 받을 수 있고, 해당 URL에는 카카오페이 서버 측에서
pg_token
파라미터를 붙여서 리다이렉트한다.
pg_token
은 결제 승인 API를 호출할 때 사용한다.
- 결제 페이지 url을 클라이언트에 제공해서 유저에게 카카오페이지 QR을 찍을 수 있도록 한다.
- 캐시 DB 사용 (Redis)
- 리다이렉트시, 바로 결제 승인 요청하기로 전달되야하며, 이때도 결제정보를 갖고 있어야므로 캐시db인 Redis를 사용한다.
Redis Key
: private final String REDIS_CACHE_KEY_PREFIX = "kakaoPay:";
+ memberId
Redis Value
: 결제 정보 (Mapper에서 Build)
Redis TimeOut
: key에 따른 value 만료 시간 지정
2. 결제 승인 요청하기