결제위젯 테스트
토스 샌드박스에 있는거 제 백엔드에 연동시켜서 테스트 해보려 하는데 실제 라이브 키로 테스트가 가능한가요?? 아니면 테트 gck,gsk 만 가능한가요 ?
26 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(문제가 발생한 이미지나 전체 결제흐름 동영상을 첨부해주시면 빠른 분석을 받으실 수 있습니다.)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
테스트로만 사용해 주시기 바랍니다.
결제위젯은 라이브키로 테스트 안돼나요? 실제로 돈나가는지 보려하는데
{"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.","data":null }
2025-12-01T21:40:33.229+09:00 ERROR 44610 --- [nomination] [pool-6-thread-1] g.n.feign.toss.config.TossErrorDecoder : 토스 API 에러 응답 - status: 400, url: https://api.tosspayments.com/v1/payments/confirm, body: <html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
</body>
</html>
테스트 결제위젯키 , 라이브 결제위젯키 둘다 이 에러가 나오는데 왜그런건가요 ㅜㅜ??
live_gck로 위젯 열어서
live_gsk로 결제승인해야합니다.
라이브키로 테스트 해도 괜챃은거죠?
두개 짬뽕하신 경우 401이 잘 내려갑니다.
돈이 나가긴하는데 당일 취소 시 문제없습니다.
그런데 마이페이지에 있는 라이브 결제위젯 값 그대로 복사해서 사용하는데 계속 저런 에러가 나는군요 ㅜㅜ
400뜨고 있습니다
live gck로 렌더링해서 live gsk쓰신거 맞나요?
잠시만요
live gck로 프론트에서 토스 SDK 초기화에 사용하고 결제창 띄우고 백엔드에서 시크릿키로는
TossAuthInterceptor.java:
// Base64 인코딩: "secretKey:" 형태
this.encodedAuthKey = Base64.getEncoder()
.encodeToString((secretKey + ":").getBytes(StandardCharsets.UTF_8));
// Authorization 헤더에 추가
template.header("Authorization", "Basic " + encodedAuthKey);
실제 API 호출 시:
POST https://api.tosspayments.com/v1/payments/confirm
Authorization: Basic weqewqeqwe
이런식으로 사용하고 있습니다!
아니면 orderId를 알려주세요
내일 토스팀에서 로그를 확인해볼 수 있도록
잠시만요
ORDER_1764594251930_pmvt5d65p
입니다
요청자체가 들어오지 않았고 말씀하신 시간대에 400으로 에러가 나간게 없습니다.
근데 응답이
2025-12-01T21:40:33.229+09:00 이시간에 UNAUTHORIZED_KEY 에러 나간로그를 확인해 보면 Authorization: Basic 헤더가 아예 없었어요.
nginx 400 format인데 방화벽문제 아니었을지요?
이거 이후에 400 났을땐 nginx나 alb가 400을 뱉을때의 포맷으로 html응답이 왔네요
이거 밑에꺼 보시면 됩니다.
확인해 보겠습니다!
혹시 ORDER_1764639135271_el1pd7qjk 이거 한번만 확인 가능 하실까요!?
혹시 이게 어떤 말씀 이실까요??
해당 주문번호도 승인요청이 안들어왔어요.
이게 그럼 앞에 프록시에서도 막힐수가 있나요??
그건 저희가 알수가 없습니다.
아 그럼 request가 어떻게 들어갔는지도 로그 못봐주시는 거죠 ㅠㅠ?
네 저희 서버까지 오지 못한것 같아요.
제가 sdkv2로 했어야했는데 v1으로 하다가 v2로 바꾸고 있는데 혹시 v1 하고 v2는 차이가 많이나나요 ? v1 백엔드는 결제 구현이 됬는데
v1이나 v2 나 백엔드는 동일하게 사용합니다.
그럼 아무래도 제 프론트에서 문제가 있나보군요... 넵 감사합니다!
v1에서 실제 라이브키로 돈나가는거 까지 확인 가능했는데 v2에서도 라이브 gck 사용해서 테스트 가능한건가요!?
FeingConfig 여러개가 있었는데 @Configuration 때문에 헤더 두개가 나갔었네요 ㅜㅜ 그래도 감사합니다
Configuration 이거때문에 하나가 글로벌 적용되고 있어서 ... 하하
네 다행이네요.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.