가상계좌 웹훅 연동에 대해서 문의드립니다.
가이드 안내에 따라 결제 연동까지 잘 마무리하였습니다.
웹훅을 연동하면 무통장입금을 신청한 사람이 입금하면 실시간으로 입금여부를 저희가 받을 수 있다고 하여 가상계좌 웹훅 연동을 할려고 합니다.
그래서 웹훅 등록하기에서 URL과 구독할 이벤터를 등록하였습니다.
이후 어떻게 처리해야 하는지 이해가 되지 않아 문의드립니다.
등록한 URL 페이지에 알림을 받을 수 있는 프로그램을 만들어 처리해야 하는지요? 그렇다면 샘플 소스는 제공이 되는지요? 웹훅 연동 예제를 보면 https://github.com/tosspayments/payment-widget-sample/tree/main/node-ejs 제공되는걸로 보이는데 페이지를 찾을 수 없다고 나옵니다. github 사이트에서 php 샘플 예제 있는지요?
그리고 테스트할려고 주문건 발생을 시키고 테스트 결제내역에서 입금처리를 클릭했는데 "이벤트 전송이 정상적으로 처리되지 않았어요. 웹훅 URL을 확인해주세요" 경고가 출력되고 메일로 "콜백 상세 정보를 확인한 후 서버에 이상이 있는지 점검해주세요." 라고 메일이 옵니다.
웹훅에 등록된 URL 페이지에서 값을 받아서 결제 상태값을 변경해주는게 맞는 이해인지요?
웹훅 개념이 처음이라 어렵게 느껴지는데 어떻게 해야 하는지 문의 드립니다.


10 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
GitHub
payment-samples/payment-window/php/va_callback.php at main · tosspa...
토스페이먼츠 결제 API 및 결제창 샘플 코드입니다. Contribute to tosspayments/payment-samples development by creating an account on GitHub.
이걸 참고하시면 됩니다.
그리고 웹훅은 가상계좌 로. 입금이 되면 저희가 등록하신 URL 로 웹훅만 보내드리는 것이지 그 정보를 가지고 추가적으로 작업하는 것은 없습니다.
URL 에서 정보를 받아서 처리하신후 http status 200 을 응답해 주시면 됩니다.
저희가 등록하신 URL 로 데이터를 보내드렸는데 400 에러를 응답하신것으로 확인됩니다.
보내드린 샘플을 이용해서 저희가 보내드린 정보를 받아서 처리하시면 됩니다.
네 답변 감사합니다.
그런데 400에러가 나는 이유를 알 수 있을까요?
등록된 URL은 웹상에서 잘 접속이 되는데 https://work.geumwon.com/wp_tosspayments/deposit.php
혹시 파일에 권한을 설정해 주어야 하는지요?
아뇨 저희가 관련 정보를 jSON 으로 넘기는데 거기서 처리를 못하시는게 아닐까 싶습니다.
400에러는 만드신 페이지에서 발생하는거라 저희는 알수가 없구요.
네 확인해 보겠습니다.
감사합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
400에러가 무엇이 문제인지 감이 오지 않아 문의 좀 드립니다.
웹훅 URL 페이지에 https://work.geumwon.com/wp_tosspayments/deposit.php
샘플 파일 소스를 넣고 저희쪽에 맞게 수정하여 입금상태를 저희쪽 DB에 갱신하는 흐름으로 이해하고 진행하고 있습니다.
그래서 deposit.php 파일 소스도 일단은 샘플 소스 그대로 복사해 놓은 상태입니다.
참고로 테스트 후에 정상적으로 처리되지 않았습니다.라는 메일도 수신하였습니다. 조그마한 힌트가 개발에 큰 힘이 되는데 무엇이 문제일련지? 도움 부탁드립니다.



https://work.geumwon.com/wp_tosspayments/deposit.php 에 POST 로 요청을 드리게 되는데 , 해당 URL 에서 아래와 같이 에러를 내고 있습니다.
response=HTTP/1.1 400 Bad Request
accept-ranges: bytes
connection: close
content-length: 1284
content-type: text/html
date: Sun, 17 Mar 2024 23:13:14 GMT
p3p: CP='CAO PSA CONi OTR OUR DEM ONL'
server: Apache
코드를 그대로 쓰셨다면 코드 문제는 아니고, 아파치 웹서버에서 해당 URL에 브라우저가 아닌 agent 가 접속하려고 할때 에러를 내도록 하지는 않았는지 확인부탁드립니다.
네 감사합니다.
서버 보안 설정에 의한 문제로 판단되어 서버 업체에 협조 요청하여 정상 작동합니다.
답변이 큰 도움되었습니다.
감사합니다.