카카오페이 단건 결제 샘플 자바코드를 확인해 봤습니다.
-
tid를 전역변수로 둔 후, 결제 요청시 카카오페이 서버로부터 받은 tid를 저장하고, 결제 승인 요청 시 저장된 tid 값을 보내는데 동시성 상황에서 tid값이 변경될 수도 있는데 실무에서도 이렇게 하시는지 궁금합니다.
-
결제 준비 단계에서 TID를 주문 정보와 함께 DB에 저장하고 있습니다.
카카오페이 QR 기반 결제 흐름에서는 사용자가 결제 인증 완료 후 approval_url로 리다이렉트되는 구조이기 때문에, 일반 API 요청처럼 프론트엔드에서 DTO Body 형태로 데이터를 다시 전달받기 어렵다고 판단했습니다.
그래서 승인 단계에서는 approval_url의 PathVariable(Query Parameter)로 전달받은 식별자(userId 또는 orderId)를 기반으로 주문 정보를 조회한 뒤, DB에 저장된 TID를 사용하여 approve API를 호출하는 방식으로 구현했습니다.
이 경우 approval_url을 통해 식별자를 전달받는 방식이 보안상 문제되지 않는지, 실무적으로 일반적인 방식인지 궁금합니다.