웹훅은 데이터가 변경되었을 때 상점 서버에서 실시간으로 알림을 받을 수 있는 기능입니다.
알림을 받을 웹훅 URL을 만들고 등록해두면 결제 상태가 변경되었을 때, 요청해 둔 지급대행이 실행됐을 때, 브랜드페이에 고객이 결제 수단을 업데이트 했을 때와 같은 변경 사항을 알 수 있습니다.
등록한 웹훅 URL에 웹훅 전송 후 응답으로 HTTP 200 OK이 돌아오지 않으면 전송 실패로 판단합니다. 최초의 웹훅 전송이 실패하면 성공할 때까지 최대 7회(최초 전송으로부터 3일 19시간 후)까지 웹훅을 재전송합니다.
재전송 간격은 1분 → 4분 → 16분 → 64분 → 256분 → 1024분 → 4096분으로 늘어납니다.
마지막 재전송까지 실패하면 이메일로 전송에 실패한 이벤트 정보를 알려드립니다. 이메일에 포함된 웹훅 이벤트 정보를 확인하고 상점 서버나 웹훅 URL에 이상이 있는지 점검해보세요.
웹훅은 HTTP POST 메서드를 사용해서 JSON 형태로 전달됩니다. 서버에서 JSON을 처리할 수 있는지 확인해주세요. HTTP도 지원하지만 보안을 위해 HTTPS로 통신하는 것을 권장합니다.
데이터가 변경되면 웹훅 이벤트가 발생합니다. 등록해 둔 웹훅 URL로 돌아오는 웹훅 이벤트 본문은 아래와 같은 형태입니다.
{
"eventType": "PAYMENT_STATUS_CHANGED",
"createdAt": "2022-05-12T00:00:00.000",
"data": {
"paymentKey": "B3EvL1cKz9p-kO6XPNpfF",
"status": "DONE",
"orderId": "YOWWcpZSDCZ8WJC5x7mkl"
}
}
아래 필드들은 공통입니다.
{
"eventType": "PAYMENT_STATUS_CHANGED",
"createdAt": "2022-01-01T00:00:00.000",
"data": {
"paymentKey": "B3EvL1cKz9p-kO6XPNpfF",
"status": "DONE",
"orderId": "YOWWcpZSDCZ8WJC5x7mkl"
}
}
ref