JSP

결제 API : ngrok 실행시키기

보배 진 2025. 12. 4. 14:18

카카오페이가 나의 local 서버(로컬호스트)에 직접 접근할 수 없기 때문

카카오페이의 결제 흐름

  1. 사용자가 결제하기 클릭
  2. 카카오페이 페이지로 이동
  3. 결제 성공/실패 후 카카오페이가 나의 서버로 다시 요청을 보냄
    • approval_url
    • cancel_url
    • fail_url

즉, 카카오페이가 나의 서버로 들어와서 승인 처리를 해야 함

 

 

 

 

그런데 문제는 내 backend 서버는 로컬에서 돌아가는 Tomcat 서버

 

http://localhost:8080/payMent/...

카카오페이 서버는 인터넷에 있고

로컬컴퓨터는 외부에서 접근 불가능

즉, 카카오페이가 localhost:8080으로 접근할 방법이 없음.

 

 

그래서 필요한 게 ngrok!

ngrok는 나의 로컬 서버를 인터넷에서 접근 가능하도록 공개 URL로 만들어주는 도구.

예: https://어쩌고저쩌고.ngrok-free.dev → 내 로컬 서버

이 URL을 카카오페이에 등록하게 되면

카카오페이는 결제 성공 시 ➡ approval_url
로 요청을 보낼 수 있게 됨.

 

 

ngrok이 하는 일

  • 로컬 Tomcat ↔ 카카오페이 서버 사이에서 다리 역할
  • 로컬에서 돌아가는 프로젝트에 외부 서버가 접속할 수 있도록 해줌
  • 카카오페이 redirect_url(승인/취소/실패) 호출을 가능하게 함

 

 


 

 

정리

🔸 나의 payMent 프로젝트는 로컬에서 동작
🔸 카카오페이는 인터넷에서 동작
🔸 그래서 서로 통신하려면 ngrok가 필요함
🔸 ngrok가 로컬을 인터넷 URL로 변환해줌

➡ ngrok 없으면 카카오페이가 approve URL로 절대 접근할 수 없음!