Deleted User
Deleted User2y ago

빌링결제시 웹훅 이벤트 발생에 관하여

안녕하세요? 메뉴얼을 보니 빌링결제 요청은 결제가 완료되었을때 웹훅 이벤트가 발생하지 않는다고 나와있는데 웹훅이 있는 이유를 생각해보면 다음과 같은 경우는 어떻게 대응을 해야 하나요? 1. 빌링결제 호출 2. 호출직후 가맹점 백엔드 장애 발생 (호출은 성공적으로 전달됨) 3. 응답값 확인 못 하고 가맹점 DB 업데이트 못하고 서버 사망함 4. 결제는 이루어졌으나 가맹점 DB상으로 결제 상태 변경 못함 이런 경우 웹훅 호출이 없이 어떻게 대응하나요? 타사의 경우 빌링결제시에도 웹훅은 호출되는데 왜 이부분이 빠진건지 이해가 되질 않습니다 감사합니다
20 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2y ago
확인한 메뉴얼 링크 공유바랍니다.
Deleted User
Deleted UserOP2y ago
https://docs.tosspayments.com/common/webhook 자동결제는 결제 요청에 이어서 승인이 되기 때문에 결제가 완료됐을 때 웹훅을 전송하지 않습니다.
웹훅(Webhook) 연동하기 | 토스페이먼츠 개발자센터
웹훅은 데이터가 변경되었을 때 상점 서버에서 실시간으로 알림을 받을 수 있는 기능입니다. 웹훅을 연동해서 결제 상태 변경, 지급대행 실행, 브랜드페이 고객 결제수단 업데이트와 같은 변경 사항을 실시간으로 받아보세요.
Kimoon Lee
Kimoon Lee2y ago
응답값 확인 못 하고 가맹점 DB 업데이트 못하고 서버 사망함 <-- 이시점에 주문번호로 결제조회하신후 업데이트 하시면 됩니다. 그게 아니면 빌링결제 호출 시점에 멱등키를 넣으시고, 에러 받으시면 다시 동일한 멱등키로 요청하시면 동일한 응답을 받아보실수 있습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
Deleted User
Deleted UserOP2y ago
웹훅 자동결제 완료시에도 호출되도록 하면 안되나요? 당연히 주문번호로 결제내역 조회하면 알 수 있지만 이러면 뭐하러 웹훅이 존재하는지 모르겠어요
이실장
이실장2y ago
자동결제는 API 요청과 즉시 응답이 오기 때문에 API Response로 받아주시기 바랍니다. 웹훅은 응답이 바로 오지 않을 경우를 위해 제공해드리고 있습니다.
Deleted User
Deleted UserOP2y ago
응답이 바로오지 않는 경우가 무엇인가요?
이실장
이실장2y ago
가상계좌 입금, 결제창의 경우 인증 요청후 30분 이후에 승인 응답이 올수 있습니다. 브랜드페이 결제수단 삭제도 고객이 직접 작업하기 때문에 웹훅으로 안내드려야합니다.
Deleted User
Deleted UserOP2y ago
키인결제도 그럼 웹훅이 안오나요?
이실장
이실장2y ago
API로 키인겨렞하면 웹훅 안가게 됩니다.
Deleted User
Deleted UserOP2y ago
위젯으로 키인결제시 결제 완료후 confirm API 호출도 응답이 바로 오는거 아닌가요? 이때는 왜 웹훅으로 오나요?
이실장
이실장2y ago
결제창이 뜨면 일단 인증 > 승인 2단계로 나뉘어 집니다 ^^ 즉 status가 바뀌게 됩니다. 키인 API및 자동결제승인은 status가 바뀌지 않기 때문에 보내드리지 않습니다.
Deleted User
Deleted UserOP2y ago
confirm API는 결제창이 끝난 이후 아닌가요? 호출하면 바로 응답을 받는데 웹훅이 날아옵니다
이실장
이실장2y ago
질문 주시는게 웹훅 구조가 궁금해서 질문 주시는 걸까요 ?
Deleted User
Deleted UserOP2y ago
설명해주신 설계관점이 이해가 안가서 질문드립니다 바로 응답받을수 없는 경우 웹훅으로 알림을 주는 것은 이해가 갑니다 결제후 장애시에 대한 보완책으로도 사용하는데 가맹점이 결제 응답값을 받지 못하는 경우를 전부 매니징 해야하는 burden이 있네요
이실장
이실장2y ago
이벤트 타입이 PAYMENT_STATUS_CHANGED 입니다. 즉 결제 상태가 바뀌었을 때 웹훅을 보내드립니다. 결제창을 띄우면 IN_PROGRESS 상태입니다. 이후 paymentKey를 받아 confirm api에 따라 done이나 aborted가 됩니다. https://docs.tosspayments.com/common/webhook#payment_status_changed 상태가 변경 될 때 발생되는 웹훅입니다. 웹훅은 장애를 위한 보완책으로 제공해드리는 서비스가 아닙니다. 결제 상태외에도 입금상태/지급대행 상태/회원정보 상태 등 상태가 변경 되었을 때 이를 가맹점에 통보해주는 역할입니다. 자동결제 API, 키인 API는 상태가 전혀 바뀌지 않습니다. 이에 보내드리지 않습니다.
웹훅(Webhook) 연동하기 | 토스페이먼츠 개발자센터
웹훅은 데이터가 변경되었을 때 상점 서버에서 실시간으로 알림을 받을 수 있는 기능입니다. 웹훅을 연동해서 결제 상태 변경, 지급대행 실행, 브랜드페이 고객 결제수단 업데이트와 같은 변경 사항을 실시간으로 받아보세요.
이실장
이실장2y ago
결제응답을 받지 못하는 경우는 웹훅이 아닌 거래조회/정산조회 API를 통해 대사를 하는게 일반적이고 설계된 목적에 맞는 방법입니다. 이에 웹훅으로 자동결제 API가 제공될 예정이 없는 점 참고하여 매니징 해주시기 바랍니다.
Deleted User
Deleted UserOP2y ago
설명하신 점하고 모순되고요 토스페이먼츠는 그렇게 운영하는지 몰라도 다른 PG사들은 결제시 웹훅 호출이 옵니다... 무정지로 서비스 운영하더라도 단일 인스턴스가 장애 발생할 수 있는데 편의를 위해서 제공해주시면 안되는지 다른 서비스 벤치마킹 해보시길 바랍니다
이실장
이실장2y ago
네 의견 감사합니다

Did you find this page helpful?