웹훅 signature 검증부분 질문드립니다!
해당 부분을 현재 구현하고 있는데요, 질문사항이 있습니다.
1. 보안키를 주어진 바이트 전환 함수로 전환하여 hmac에 비밀키로 넣주면 되는지?
2. {WEBHOOK_PAYLOAD}:{tosspayments-webhook-transmission-time} 해당 부분이 request로 오는 body를 "dict : 헤더의 시간" 로 만들어서 hmac에 넣어 해쉬화 하는게 맞는지?
예시) body = {'a':23}, header= {'time':'0000-00-00'} need_to_encode = "{'a':23}:0000-00-00"
감사합니다.
6 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
python3.11환경에서 다음과 같은 코드로 해쉬화 하고 있습니다.
1번) 네, 맞습니다. 보안키를 hmac 의 비밀키로 사용하는게 맞습니다. 바이트형식으로 변환해서 넣어주시면 됩니다.
2번) 수신한 웹훅 페이로드에 웹훅이 발송 시간 createdAt 을 tosspayments-webhook-transmission-time 로 넣어주시면 됩니다.
예를 들어, "createdAt":"2024-11-20T19:00:00+09:00" 이면,
위 기준으로 보면 {"a":23}:{"2024-11-20T19:00:00+09:00"} 이렇게 됩니다.
주의하실 점은 웹훅 검증이기 때문에 웹훅 페이로드에 변경이 있으면 안됩니다.
그러면 최종 string은 이 되는건가요?
네 바이트형식으로 변환도 해주셔야합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.