WebHook 설정
안녕하세요?
웹 훅 기능을 통해
가상계좌 입금 상태를 변경 할 수 있는 것으로 알고 있습니다.
웹훅 등록하는 건 어렵지 않았지만
이벤트 받아 등록하는 부분에서 어려움을 겪고 있습니다.
웹훅 등록에서
PAYMENT_STATUS_CHANGED, DEPOSIT_CALLBACK
두개를 선택해서 URL 입력 후 등록한 상태입니다.
URL을 등록하니
결제가 진행되면 등록한 URL 페이지에 접근 하는 것을 알게되었습니다.
이때 아무런 데이터도 받지 못하는 듯 하는데 맞나요?
JSON형태로 toss가 전해주는 값을 받아 보고자 했지만 아래와 같았습니다.
{"code":"INVALID_REQUEST","message":"필수 파라미터가 누락되었습니다."}
결제 성공 여부를 확인해보려고
토스 개발자 센터
테스트 결제내역에 있는 리스트
입금처리, 취소 시
위 등록한 URL로 통신을 하지 않는 듯 했습니다.
또한,
해당 리스트에서 취소를 누르면
존재하지 않는 결제 정보라고 메세지가 나옵니다.
주문번호는 4894341이며 금액은 1원입니다.
1. 가상계좌 결제 시 등록 된 URL로 접근을 하는데
paymentKey, orderId, amount는 받을 수 없나요?
받을 수 있다면 방법이 무엇인가요?
2. 결제 승인, 취소 이벤트는 어떻게 받을 수 있나요?
3. 테스트라서 입금처리 및 취소가 안되는 것일까요?
아니라면 무엇이 잘못되었을까요?
도움 부탁 드립니다.

17 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
가상계좌 최소 결제금액은 200원 입니다.
해당 금액으로 셋팅하고 다시 테스트 부탁드립니다.
네 안그래도 해당 문제로 체크중에 있었는데
1,000원~10,000원까지 해봤는데 취소 및 입금이 안됩니다.
1,000원 주문번호 : 4894347
10,000원 주문번호 : 4894349
웹훅으로 등록한 URL은
가상계좌 뿐만 아니라 카드결제시도 접근을 하는군요
주문번호 4894347는 정상적으로 가상계좌 생성되었습니다.
지정한 webhook으로도 제대로 호출되었습니다.
입금대기, 취소 모두 오류가 발생됩니다.

가상계좌 생성시 신한은행말고
다른 곳으로 사용 부탁드려요.
테스트 환경이라 일부 안되는 곳이 있습니다.
오 고맙습니다.
국민으로 하니 정상적으로 진행되네요
네,, 신한이 정상적으로 처리가 안됩니다. live에서 정상동작하니 참고 부탁드려요.
그렇군요
지정한 웹훅 페이지도 정상적으로 호출하는 것은 확인되었습니다.
다만 이벤트를 어떻게 받는지 잘 모르겠습니다.
혹시 가이드가 있을까요?
paymentKey 등 Request 필수 값을 받지 못하는 합니다.
Classic asp를 이용하고 있고
paymentKey = Request("paymentKey")
위 방법으로는 받을 수 없는데 다른 방법이 있을까요?
키를 박고 진행해야 되는 것일까요?
api.tosspayments.com/v1/payments/키
위와 같은 형식으로
classic ASP의 경우 json을 받아올때 Request.BinaryRead를 사용하면 된다고 합니다.
https://stackoverflow.com/questions/2682280/get-classic-asp-variable-from-posted-json 해당 샘플 참고하시면 될 것 같습니다.
Stack Overflow
Get Classic ASP variable from posted JSON
I'm trying to post JSON via AJAX to a Classic ASP page, which retrieves the value, checks a database and returns JSON to the original page.
I can post JSON via AJAX. I can return JSON from ASP. ...
확인해주셔서 고맙습니다.
질문이 틀렸나 봅니다.
웹훅 페이지에서
이벤트를 받기 위한 설정이 궁금합니다.
우선 결제 시 진행한 paymentkey나 orderid등은 받지 못하는 듯 보입니다.
그래서 토스 쪽과 통신을 한 뒤 데이터를 받아와야 할 듯 한데
이해를 돕기 위해
소스를 대강 짜보면
url = "https://api.tosspayments.com/v1/payments/" & paymentKey
authorization = "Basic " & base64Encode(secretkey)
Set req = Server.CreateObject("MSXML2.ServerXMLHTTP")
req.open "POST", url, False
req.setRequestHeader "Authorization", authorization
req.setRequestHeader "Content-Type", "application/json;charset=UTF-8"
req.send ""
Set myJSON = JSON.parse(req.responseText)
이런 느낌일텐데
위와 같이 코드를 짜서
req.responseText를 받아 보면
{"code":"INVALID_REQUEST","message":"필수 파라미터가 누락되었습니다."}
의 값을 받게 됩니다.
이런식으로 데이터를 받는 것이 아닌가요?
paymentKey의 키 값은 소스에 박아서 진행했습니다.
또한, 개발자 센터
테스트 결제내역에서 입금처리 및 취소를 하면
2회 전송하는 듯 합니다.
혹시 문의 내용 중 어려운 부분 있으면
다시 설명을 해보겠습니다.
webhook 이 두번가는 이유는 일반 webhook과 가상계좌입금 통보 두개를 설정했을 거라고 예상됩니다.
위에 샘플은 https://docs.tosspayments.com/reference#paymentkey%EB%A1%9C-%EA%B2%B0%EC%A0%9C-%EC%A1%B0%ED%9A%8C
를 호출하신 걸까요?
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
해당 API 호출은 POST가 아니고 GET으로 호출하시면 됩니다.
많은 도움이 되었습니다.
고맙습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.