이재훈
이재훈3y ago

테스트 API키

결제 테스트를 진행중입니다. 결제 후 결과 페이지에서 Authorization: Basic base64(secretkey:) 이렇게 해서 confirm을 했는데 {"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다."} 이렇게 결과가 나옵니다. 확인 할 수 있을까요?
15 Replies
이실장
이실장3y ago
안녕하세요 🙂 client key와 secretKey를 서로 매칭되는 정보를 확인하셨을까요? 각각 key는 개발자센터 (developers.tosspayments.com)에서 확인가능합니다.
이재훈
이재훈OP3y ago
넵 확인 했습니다. client key로 결제 창이 뜨는 것을 확인했고 success페이지에서 secretkey 값을 base64 인코인해서 confirm을 했는데 위와 같은 결과 메세지가 나왔습니다.
이실장
이실장3y ago
사용하신 주문번호 전달해주세요 확인도와드리겠습니다.
이재훈
이재훈OP3y ago
테스트 D20221019182530154300 D20221019182530154300 이것 입니다.
이실장
이실장3y ago
승인 api쓰실 때 사용하신 시크릿 키를 잘못사용하고 계십니다. client key에서 'ck' > 'sk'로 바꾸셨어요
이실장
이실장3y ago
https://developers.tosspayments.com/ > '내 개발정보' 들어가서 apikey 확인해서 사용하셔야합니다.
이실장
이실장3y ago
key가 2개가 보일거에요
이재훈
이재훈OP3y ago
혹시 success 페이지 말씀이신가요? 저도 clientkey와 secretkey 두개를 확인했었고 $clientKey_test="test_ck_7XZYkKL4MrjbJ0gZ0xor0zJwlEWR"; $secretKey_test="test_sk_jZ61JOxRQVEPAWgwqlg3W0X9bAqw"; $base64Key=base64_encode($secretKey_test.":"); 이렇게 해서 사용 했습니다. 바뀐거 같지는 않은거 같아요
유부장
유부장3y ago
시크릿키를 test_sk_7XZYkKL4MrjbJamJEYEr0zJwlEWR 이 값을 인코딩 해서 보내주셨네요 test_sk_jZ61JOxRQVEPAWgwqlg3W0X9bAqw 이 값을 인코딩 해서 진행 해보시겠어요? 그래서 저희가 ck > sk 라고 답변을 드렸었어요
이재훈
이재훈OP3y ago
지금 해당 부분 소스를 좀 보내 드릴게요 $clientKey_test="test_ck_7XZYkKL4MrjbJ0gZ0xor0zJwlEWR"; $secretKey_test="test_sk_jZ61JOxRQVEPAWgwqlg3W0X9bAqw"; $base64Key=base64_encode($secretKey_test.":"); echo $base64Key."<br>"; //orderid 값을 결제된 값과 리턴받은 amount 값이 같은지 비교한다. //비교후 값이 같으면 결제 승인 호출 $dataDim=array( "paymentKey"=>$paymentKey, "amount"=>$amount, "orderId"=>$orderId ); $jsonDataDim=json_encode($dataDim); $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.tosspayments.com/v1/payments/confirm", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $jsonDataDim, CURLOPT_HTTPHEADER => [ "Authorization: Basic ",$base64Key, "Content-Type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); 보시는 것 처럼 저렇게 수정할만한게 ㅠㅠ
이실장
이실장3y ago
일단 이 코드에서는 정상적인것처럼 보이지만... 저희쪽 데이터는 test_sk_7XZYkKL4MrjbJamJEYEr0zJwlEWR 데이터를 보내주고 계십니다.
이재훈
이재훈OP3y ago
아..잠시만요 지금 보니까...Basic 다음에 소스가 이상한거 같으니 그거 한번 확인해 보고 다시 안되면 질문 드리겠습니다. 감사합니다.
이실장
이실장3y ago
네 언제든 문의 주세요 🙂
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
이재훈
이재훈OP3y ago
아..되네요 제가 실수고 . 대신에 ,를 넣는 바람에...별것 아닌 것 가지고 질문 드렸네요. 친철한 답변 감사드립니다.

Did you find this page helpful?