desiwoo
desiwoo17mo ago

webhook 이벤트 등록이 안되네요 https://localhost:8080/webhook

하고 이벤트 맨위에 있는거 체크하고 등록했는데 url이 안된다는 메세지가 뜬거같아요.
42 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
hkkim
hkkim17mo ago
웹훅 이벤트 등록시 토스->웹훅url 로 데이터를 전송합니다. 외부에서 호출가능한 url로 등록 부탁드립니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
desiwoo
desiwooOP17mo ago
지금은 localhost밖에 없는데요.. ngrok를 다운받은다음 ngrok http 8080을 쳤거든요 그후에 등록을 어떻게 하는건가요? 웹훅이벤트 등록할때 url에 어떻게 넣어야되는거에요?
이실장
이실장17mo ago
No description
이실장
이실장17mo ago
어디로 포워딩되어있는지 나올거에요 ^^
desiwoo
desiwooOP17mo ago
ngrok치고 엔터치면 보여주신 그림처럼 안나오네요?
이실장
이실장17mo ago
이건 샘플이고 ngrok관련해서는 구글링통해서 테스트방법 찾아보시는게 좋을 것 같습니다.
desiwoo
desiwooOP17mo ago
desiwoo
desiwooOP17mo ago
여기까지는 어렵게어렵게 됬네요 ^^;
No description
No description
desiwoo
desiwooOP17mo ago
그다음은 예를 들어 가상계좌결제한것의 paymentKey 값으로 입금이 되었는지 확인하는 페이지를 만들어서 하는건가요? 아니면 다시 결제를 진행해보면 되는건가요? 가상계좌로 하고 테스트결재내역페이지에서 입금처리했는데 webhook 보는데서는 403 접근권한이 없다고나오네요
desiwoo
desiwooOP17mo ago
가상계좌로 한거를 입금처리한후에는 저희페이지에서 입금됬는지 알아볼려면 어디로 어떻게 해야되나요?
No description
No description
Kimoon Lee
Kimoon Lee17mo ago
/webhook 에 혹시 로그인을 걸어 두셨나요?
desiwoo
desiwooOP17mo ago
ngrokurl만들때 https://ab74-211-217-123-79.ngrok-free.app/webhook이라고만 적어놨어요 그리고 localhost루트에 webhook을 치면 빈페이지 하나 만들어놔야되나요? homecontroller에서 requestmapping("webhook") 하면 빈페이지 돌려주게 해놓을까요?? ngrok로 해서 웹훅해오는 스프링부트용 샘플은 없나요? rest api도 아니고 뭘 어떻게 해야되는지 감이 안와서요
Kimoon Lee
Kimoon Lee17mo ago
/webhook 이라는 주소에 로그인이 걸려서 403 에러가 나는 것으로 보입니다. 그냥 빈페이지를 로그인없이 접속하실수 있게만 하시면 될거에요.
desiwoo
desiwooOP17mo ago
1번은 ngrok inspect 페이지구요 2번은 그냥 빈홈페이지 webhook에 연결해놓은거에요. http://localhost/webhook을 치면 비어있는 webhookResult.html을 돌려주게 콘트롤러에 해놨구요..
No description
No description
desiwoo
desiwooOP17mo ago
궁금한건.. 사용자화면에서 입금여부확인버튼(혹은 웹훅)이라는 버튼을 누르면 웹훅? 결과를 가져왔으면 좋겠는데 웹훅은 그냥 은행에서 입금통보해주면 toss가 바로 쏴주는건가요? 그럼 저희쪽에서는 어떻게 처리하는지 모르겠어요
Kimoon Lee
Kimoon Lee17mo ago
http://localhost/webhook 에서 저희가 보내주는 정보를 파싱해서 처리하셔야 합니다.
desiwoo
desiwooOP17mo ago
webhookresult는 그럼 어떻게 되는거에요? 사용자가 주기적으로 그 페이지를 새로고침해줘야되는거에요?
Kimoon Lee
Kimoon Lee17mo ago
아뇨 저희가 해당 URL 을 호출해 드립니다. 일반적인 웹훅이 어떻게 동작하고 어떻게 처리하는지를 구글링해서 찾아보시는게 좋을것 같습니다. java 를 사용하시는 것 같아서 JSP 로 구현된 웹훅 처리 샘플을 공유 드릴께요.
김차장
김차장17mo ago
스프링부트로 웹훅샘플이 있으려면 뷰와 컨트롤러 까지 구현을 해야해서 페이지 샘플로 안내드리고 있어요 JSP에서 받는 부분을 컨트롤러로 옮겨주시기만 하면 됩니다
desiwoo
desiwooOP17mo ago
함 해볼께요 get으로 처리하고 그 안에는 json을 파싱해서 뿌려주면 되는거죠?
Kimoon Lee
Kimoon Lee17mo ago
네 맞습니다. body 에 전달되는 JSON 을 파싱해서 사용하시면 되요.
desiwoo
desiwooOP17mo ago
콘트롤러에서 @GetMapping("hook") public String webhookTest(Model model){ RestTemplate restTemplate = new RestTemplate(); String url = "https://6b2c-211-217-123-79.ngrok-free.app/hook"; // 여기에 실제 API URL을 입력하세요 Map<String, Object> data = restTemplate.getForObject(url, Map.class); model.addAttribute("data", data); return "webhookResult"; } 저렇게 ngrok에서 생성된 url넣어주면 되는건가요? 저기에 /hook은 toss에 등록한거니까 저렇게 적어주면 되나요? 파싱은 안하고 일단 다 뿌려보려고 하는데요 결재를 입금처리한후에 localhost/hook을 가니까 http get https://6b2c-2111......등이 많이 반복되서 나중에는 too many request에러나네요
이실장
이실장17mo ago
안녕하세요. 혹시 실제 서비스할 서버는 언제 준비되실까요?
desiwoo
desiwooOP17mo ago
서버는 아직 정확히 모르겠어요 주문은 해놨는데 언제 가져와서 도메인등록하고 그럴지는 모르겠어요 한달정도 안에는 될거같기도 해요 그리고 궁금한게 하나더 있는데요 웹훅을 가져와서 처리하려고 할때 paymentKey로 입금상태가 입금완료나 뭐가 되면 저희쪽에 결재정보에 업데이트하거나 하는 처리를 해야될거같은데... 어떻게 하나요? 보통 웹훅을 읽어와서 그 안에서 버튼누르면 입금처리됬다고 입금처리하는 페이지로 post시키나요?
Kimoon Lee
Kimoon Lee17mo ago
입금이 되는 시점은 이미 고객이 쇼핑몰페이지를 이탈한시점입니다. 그래서 고객에게 무언가를 보여주실 필요가 없고, 필요하시다면 알림톡등으로 입금이 확인되었다고 알려주시고, 쇼핑몰 내부에서는 결제 완료처리를 하신후 배송을 하거나 서비스를 제공하시면 됩니다. 실제 쇼핑몰을 준비하시는 거라면 지금 문의주시는 내용으로 볼때 결제 방식및 처리 절차에 대해 더 자세하게 확인하셔야 할것 같습니다. 타겟하시는 소비층이나 제품이 유사한 타 쇼핑몰을 보고 결제가 어떻게 동작하는지, 가상계좌 입금을 하면 어떤식으로 처리 되는지를 확인해 보시는게 좋을것 같습니다.
desiwoo
desiwooOP17mo ago
음... 타업체의 시스템이 어떻게 돌아가는지는 물어봐도 안알려줄거같아서요.. 보통 계좌입금은 1시간간격으로 경리들이 체크해서 입금처리를 하는거 같아요. 제가 원하는건 가상계좌는 정확하게 주문한것과 1:1 매치가 되니까 웹훅으로 가져와서 입금된것들을 자동으로 결재정보에 입금완료로 업데이트해주고 싶거든요 무통장입금은 주문번호를 매치시키기가 좀 어려운점이 있어서요 관리자페이지에서 웹훅으로 가져와서 자동으로 업데이트되는... 상상해봅니다.
이실장
이실장17mo ago
웹훅연동이 어려운 개념이 아닌데 문의가 길어지고 있는 것 같습니다. 빠른 문제해결을 위해 아래와 같이 진행하겠습니다. - 현재 웹훅을 어떠한 방식으로 구현할 계획을 가지고 계신지 자세히 남겨주시겠어요?
desiwoo
desiwooOP17mo ago
가상계좌의 입금내역을 관리자페이지-가상계좌입금내역 확인을 누르면 내역을 보고 입금된것들을 저희 주문번호와 관련된 주문테이블이나 관련결재정보테이블을 생성하거나 업데이트 하고 싶어요 웹훅은 은행-토스-우리쪽url로 정보를 쏴주는거죠? 그래서 어떻게 해야되는지 잘 모르겠더라구요 rest api로 만들어주실 계획은 없으신가요?
이실장
이실장17mo ago
모든 가맹점이 웹훅으로 받기 원합니다. 이유는 언제 고객이 입금할지 알지 못하기 때문입니다. 그래서 고객이 입금한 순간 저희가 귀사가 등록한 웹훅 URL로 POST값으로 입금되었다고 노티를 보내드립니다. 해당 노티를 받아 DB처리등 진행해주시면 되고요. API 는 결제조회 API를 쓰시면 입금된 후 어느순간 상태값이 바뀌어있겠지만. 그 어느 순간을 알지 못합니다. 위 내용 바탕으로 확인해주시고, ngrok에 익숙치 않으시면 서버 받고 연동하시길 추천드립니다.
desiwoo
desiwooOP17mo ago
노티를 보내준다는게 어떻게 알려주는거에요?
이실장
이실장17mo ago
{ "createdAt": "2022-01-01T00:00:00.000000", "secret": "O2sAXNdY23batKCvKen_X", "status": "DONE", "transactionKey": "9FF15E1A29D0E77C218F57262BFA4986", "orderId": "O2sAXNdY23batKCvKen_X" } 이런 데이터를 등록하신 url로 보내드려요
이실장
이실장17mo ago
웹훅(Webhook) 연동하기 | 토스페이먼츠 개발자센터
웹훅은 데이터가 변경되었을 때 상점 서버에서 실시간으로 알림을 받을 수 있는 기능입니다. 웹훅을 연동해서 결제 상태 변경, 지급대행 실행, 브랜드페이 고객 결제수단 업데이트와 같은 변경 사항을 실시간으로 받아보세요.
desiwoo
desiwooOP17mo ago
그럼 그 받는 화면은 항상 떠 있어야되는거죠?
이실장
이실장17mo ago
서버2서버 입니다.
desiwoo
desiwooOP17mo ago
localhost/hook이라고 가정했으면요...
이실장
이실장17mo ago
웹훅에 대해 구글링 해서 한번 확인해보시면 좋을 것 같아요 웹훅은 저희만 쓰는 개념이 아니어서요
desiwoo
desiwooOP17mo ago
서버대서버....
이실장
이실장17mo ago
우선 웹훅에 대해 이해하시는게 먼저일 것 같습니다.
desiwoo
desiwooOP17mo ago
예 알겠습니다. 더 구글링해볼께요 감사합니다~

Did you find this page helpful?