실결제 요청시 인증되지 않는 시크릿 키 에러가 발생합니다.

실 결제 요청 시 에 아래와 같은 에러가 발생합니다. 위젯 loadTossPayments 함수 호출 시에 live로 시작하는 클라인키를 적용 하였고 승인 요청시에 live 시작하는 시크릿키를 base64 암호화 하여 header에 세팅하여 결제 요청을 하였습니다. 테스트 결제 시에 정상적이 었습니다. 확인 부탁드립니다. 거래번호 : INM-TR-ee876b5c-24d4-4468-8e16-683aaa8d4e4a '[401 Unauthorized] during [POST] to [https://api.tosspayments.com/v1/payments/confirm] [PaymentApi#getTossPaymentApproval(String,TossPGApprovalParamVo)]: [{"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.","data":null}]'
25 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
OMG
OMG2w ago
결제 승인 API 호출하실 때 사용하신 시크릿키가 인증때 사용한 상점ID의 클라이언트키 가 맞는지 확인해주시면 됩니다. 위 오류는 키페어가 안맞을 때 발생합니다
이니스프리몰_고도화
상점키는 확인을 했습니다. 상점페이지에 결제위젯 연동 키를 사용 하였습니다. 다른 원인은 없는가요? 혹시 상점 계정 자체가 다르면 저런 메시지가 뜨나요? 상점 계정을 여러개 사용하는것으로 알고 잇는데 테스트 와 실계정은 다른걸로 알고 있는데 혹시나 싶은데 발생할수 있을까요?
OMG
OMG2w ago
이런 경우에 발생합니다. * A상점의 클라이언트키 인증, B상점의 시크릿키 로 승인 * 라이브 클라이언트키 로 인증, 테스트키로 승인 (혹은 반대) 이렇게 키 페어가 불일치할 때 발생하는 메세지에요
이니스프리몰_고도화
일단 확인 해보겟습니다.
OMG
OMG2w ago
이니스프리몰_고도화
인증 이라는게 정확히 뭘 의미 하나요? 아니면 위에 첨부한 거래번호로 확인은 불가한가요?
OMG
OMG2w ago
결제창 호출할 때 를 의미합니다
이니스프리몰_고도화
아.. 뭔말인지 이해 했습니다.. 그럼 문제가 없어야 하는데.. 이상하네요
OMG
OMG2w ago
paymentKey 알려주시겠어요? 로그를 봐드리려고 했는데 저 orderId 로 확인이 안되네요.
이니스프리몰_고도화
페이먼트키요? 클라이언트키 말하시는건가요>? 여기에다 키 적어도 되나요? 아..
이실장
이실장2w ago
paymentKey요 결제승인요청할 때 보내주시는 값입니다.
이니스프리몰_고도화
잠시만요 paymentkey는 인증 끝나고 returnurl에서 보내주는거죠? 저장처리를 따로 안해 둔것 같은데.. orderid로는 안되나요?
OMG
OMG2w ago
승인 요청중인 mid 가 어떻게 되시나요?
이니스프리몰_고도화
네? 승인 요청 파라메터에 mid가 있었나요 innisfree 상점 아이디 말하시는거죠?
김차장
김차장2w ago
네 맞습니다 orderId 도 알려주세요
이니스프리몰_고도화
INM-TR-80474cfa-8092-41d3-baa0-1a50f19d5b8f
OMG
OMG2w ago
innisfree2 클라이언트키를 사용하고, 승인은 결제위젯 시크릿키를 사용하고 계시네요.
이니스프리몰_고도화
네 테스트는 2를 사용하고 실결제는 innisfreef를 사용하기로 되어잇는데 설마 이니스프리2로 키로 되어 있나요? innisfree2 클라이언트키를 사용하고, 승인은 결제위젯 시크릿키를 사용하고 계시네요. 이말이.. 클라이언트키가 잘못되었다는건가요? 승인시에는 결제 시크릿키를 base64 암호화 해서 사용하지 않나요? 둘다 키가 잘못되었나요?
OMG
OMG2w ago
클라이언트키 - 시크릿키가 동일 상점ID 키페어가 맞아야 하는게 맞고요. 말씀하신것처럼 base64 암호화하는것도 맞습니다. /v1/payments/confirm 호출하실 때 키 값 앞뒤로 콤마가 붙어있네요.
OMG
OMG2w ago
이 부분을 한번 체크해보시겠어요? 이것 때문에 계속 불일치나서 위 오류가 발생하는걸로 보입니다.
이니스프리몰_고도화
뭔지 알것 같습니다. 암호화 키말곤 다른 문제는 없는거죠? 바꿔서 테스트 해보겟습니다.
OMG
OMG2w ago
콤마 빼고 한번 호출해보시겠어요? 네네
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?