Approve_url 은 서버 도메인인가요? 프론트 도메인인가요?

안녕하세요. 카카오 페이 단건 결제를 구현하던 중 궁금한 점이 생겨 문의드립니다.

approve_url 을 프론트 도메인으로 해야하는지 서버도메인으로 해야하는지 궁금합니다. 공식 문서에는 따로 권장방식이 없는 것 같아서 보통 운영환경에서는 어떻게 사용하는지 고민이 되어 글을 남기게 되었습니다.

[프로젝트 환경]
백엔드 서버에서 카카오페이 api 를 활용한 api 를 제작했습니다.
Ready API
POST /kakaoPay/ready
Approve api
GET /kakaoPay/approve

approve_url: 도메인/kakaoPay/approve
이라고 가정했을 때,

두가지 방식으로 구현할 수 있다고 생각했습니다.

  1. approve_url 이 프론트 도메인 (example.com/kakaoPay/approve)
    프론트에서 Ready API 를 호출 → 카카오 결제 인증 진행 → approve_url로 리다이렉트 → 프론트에서 approve_url 에서 받은 pg_token 을 가지고 Approve API 호출 → 결제 완료

  2. approve_url 이 백엔드 도메인 (api.example.com/kakaoPay/approve)
    프론트에서 Ready API 를 호출 → 카카오 결제 인증 진행 → approve_url이 백엔드 도메인이라서 리다이렉트되면서 동시에 Approve API 호출 → 프론트 단에서 api 호출 json 응답이 보여지지않도록 Approve API 호출 시 프론트 결제 완료페이지로 리다이렉트되도록 api 구현 → 결제 완료

제가 생각했을 때 두번째 방식으로 하게된다면, 프론트에서 ready api 만 호출해도 된다는 점에서 좋아보이는데 정석적인 방법은 1번인 것 같다는 생각이 듭니다. 보안적으로는 어떤게 더 좋은 지도 잘 모르겠습니다…

관련하여 조언 주시면 감사하겠습니다 !

감사합니다.

안녕하세요. 카카오페이입니다.
말씀하신 두가지 모두 이상없이 결제처리가 가능합니다.
정석적인 방식이라기보다 가맹점에서 구현방식의 차이인 부분으로 보여집니다.
가맹점들마다 구현방식이 상이한 부분이라 상황에 맞게 처리를 하면되는 부분이긴한데 보안적(?)으로 두flow 모두 이상은 없습니다. (리다이렉트되면서 넘겨준 pg_token 값으로 처리 할수 있는게 없기때문)
추가적으로 말씀드리면 카카오페이 호출시에 사용되는 key 값만 외부에 노출이 되지 않는다면 이슈는 없을것으로 보여지니 참고해주시기 바랍니다.
감사합니다.