왕방빵
왕방빵2mo ago

가상계좌 웹훅 DEPOSIT_CALLBACK 결제 취소 return 문의

안녕하세요 api 문서 보니 { "createdAt": "2022-06-09T15:40:09+09:00", "secret": "oK8NUrGc2Gi0k_3wqVO7u", "status": "DONE", "transactionKey": "13CD6AE82C268B57F4E7FB976DC45475", "orderId": "gc8GKY5QsoWisV6beaG1D" } 가상계좌 발급 요청이 정상적으로 승인된 응답에만 secret 값이 있고, 이후에 결제 조회를 할 때는 보안 이유로 secret 값이 null로 돌아옵니다. 이렇게 쓰여있는걸 확인했습니다. 근데 제가 궁금한건 입금취소에 대한 콜백이 궁금한데요 1. 입금기한 마감으로 인한 취소 2. 입금을 해서 저희쪽 db에 대한 처리까지 완료 하였는데 나중에 카드사에서 자체적으로 취소한 경우(일반 환불 요청(/cancel)과 다름을 의미) 3. 일반 환불 요청 셋 중에 무엇일까요?? 다 해당이라면 무슨값으로 구분하나요??
11 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
김차장
김차장2mo ago
DEPOSIT_CALLBACK 는 3만 해당됩니다. 1. 은 취소라기보다는 실패로 보는게 맞을거같구요 2. 는 가상계좌는 카드와 무관합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
왕방빵
왕방빵OP2mo ago
일반 환불요청 즉 cancel api를 통해 호출한 경우(3번)에 웹훅이 발생된다는 의미죠?? ex) POST /v1/payments/{key값}/cancel
today.lastday
today.lastday2mo ago
네 맞습니다. 고객이 입금완료한 경우 해당 api이용하여 취소하면 웹훅 발생됩니다.
왕방빵
왕방빵OP2mo ago
결제시스템에서 "취소(cancel)"을 직접 호출하면 이미 서버에서 DB 처리(환불/취소) 로직을 실행하고 있잖아요? 그런데 토스에서 또다시 webhook 이벤트로 status: "CANCELED" 같은 콜백도 추가로 날아오는데, 이때 webhook을 왜 보내는지, 그리고 실무에서 webhook cancel 이벤트를 받아서 또 별도로 처리해야 할 게 있는지 궁금합니다. 즉, 직접 cancel API 호출 → 우리 DB에 취소/환불 처리 이후 토스에서 webhook 콜백 이벤트("CANCELED") 전송 이 webhook에서 또 따로 처리해야 하는 실무적 이유/케이스가 있을까요? (이미 환불처리/DB 반영을 했는데, 중복처리 아닌가요?) 입금처리에 대한 webhook은 이해가 됩니다. confirm api 호출 => 계좌입금 대기 상태까지만 DB 저장 => webhook 콜백 이벤트("DONE") 전송 => 이때 실질적으로 결제 완료된 DB 로직 처리
today.lastday
today.lastday2mo ago
말씀하신 것처럼 취소 api 호출시 응답값을 받기 때문에 취소에대한 웹훅 처리는 안하셔도 됩니다. 시스템에 사용자가 몰리는 등 정상적이지 않은 상황에서 보조적인 수단으로 웹훅 서버를 별도로 구성하면 취소 처리를 받아낼 수 있습니다. 해당 시점에 상태 변경을 받지 못하더라도 재시도를 하여 전송하기 때문에 이후 가맹점에서 자동 취소 처리할 수 있도록 구현할 수 있는 것입니다.
왕방빵
왕방빵OP2mo ago
아하 네넵 혹시 가상계좌로 입금처리 완료하고 DB에 정상적으로 입금 완료 로직이 실행된 후에 cancel api를 이용해서 취소하는경우 환불 실패 - Toss API 오류: {"code":"INVALID_REFUND_ACCOUNT_NUMBER","message":"잘못된 환불 계좌번호입니다."} 이런 오류가 나는데 테스팅이라 그런건가요?? 그리고 만약에 cancel api를 이용해 환불을 요청하면 저기 사진의 취소 버튼을 누르지 않더라도 DEPOSIT_CALLBACK이 STATUS - CANCELED로 자동으로 웹훅 호출이 되는게 맞죠?? 지금은 toss cancel api 자체가 오류나서 그런지 canceled webhook이 안오더라구요
No description
박의원
박의원2mo ago
1) 테스트환경에서는 환불 계좌유효성체크가 원활하지 않기 때문에 말씀하신 내용이 맞습니다. 2) api / 상점관리자 환불 모두 cancel웹훅이 전송됩니다.
왕방빵
왕방빵OP2mo ago
2) api / 상점관리자 환불 모두 cancel웹훅이 전송됩니다. => 이거는 그럼 cancel api 오류발생시 전송이 안되는걸까요?? 환불 계좌유효성체크 오류가 나서 그런지 webhook이 오지 않았습니다
김차장
김차장2mo ago
오류발생시에는 cancel 이 성공한것이 아니라서 webhook 이 발송되지 않습니다

Did you find this page helpful?