웹훅 지급대행 검증
안녕하세요. 토스페이먼츠 지급대행을 이용중인데,
https://docs.tosspayments.com/reference/using-api/webhook-events 검증을 해보려고 합니다.
그런데, 여러 방식으로 입력해보아도 검증값이 다르게 나와서요.
우선 제가 검증해본 것은 이렇습니다.
개발자 센터 - 웹훅 이벤트 페이지의 이벤트 발생시간의 payload를 가져오고
기존에 웹훅 이벤트를 받았을때의 tosspayments-webhook-transmission-time 헤더값을 가져옵니다.
payload를 json으로 직렬화 한 후
HMACSHA256(payload:tosspayments-webhook-transmission-time) == base64.decode(signature v1 값 2개 순회)
위의 예시 해싱하는 데이터예시는 (일부 데이터 숨김, 날짜데이터는 정확)
"{"eventType":"payout.changed","createdAt":"2024-12-02T12:15:20+09:00","version":"2022-11-16","eventId":"eventId","entityType":"payout","entityBody":{"id":"id","refPayoutId":"regPayId","destination":"destination","scheduleType":"EXPRESS","payoutDate":"2024-12-02","amount":{"currency":"KRW","value":1111},"transactionDescription":"대금지급","requestedAt":"2024-12-02T10:35:02+09:00","status":"COMPLETED","error":null,"metadata":null}}:2024-12-03T11:00:38+09:00"
의 문자열입니다.
혹시나 해서 뒤의 시간부분을 {"2024-12-03T11:00:38+09:00"}, {2024-12-03T11:00:38+09:00} 으로도 진행해보았습니다.
혹시 처리 잘못된 값이 있을까요??
https://docs.tosspayments.com/reference/using-api/webhook-events 검증을 해보려고 합니다.
그런데, 여러 방식으로 입력해보아도 검증값이 다르게 나와서요.
우선 제가 검증해본 것은 이렇습니다.
개발자 센터 - 웹훅 이벤트 페이지의 이벤트 발생시간의 payload를 가져오고
기존에 웹훅 이벤트를 받았을때의 tosspayments-webhook-transmission-time 헤더값을 가져옵니다.
payload를 json으로 직렬화 한 후
HMACSHA256(payload:tosspayments-webhook-transmission-time) == base64.decode(signature v1 값 2개 순회)
위의 예시 해싱하는 데이터예시는 (일부 데이터 숨김, 날짜데이터는 정확)
"{"eventType":"payout.changed","createdAt":"2024-12-02T12:15:20+09:00","version":"2022-11-16","eventId":"eventId","entityType":"payout","entityBody":{"id":"id","refPayoutId":"regPayId","destination":"destination","scheduleType":"EXPRESS","payoutDate":"2024-12-02","amount":{"currency":"KRW","value":1111},"transactionDescription":"대금지급","requestedAt":"2024-12-02T10:35:02+09:00","status":"COMPLETED","error":null,"metadata":null}}:2024-12-03T11:00:38+09:00"
의 문자열입니다.
혹시나 해서 뒤의 시간부분을 {"2024-12-03T11:00:38+09:00"}, {2024-12-03T11:00:38+09:00} 으로도 진행해보았습니다.
혹시 처리 잘못된 값이 있을까요??
