테스트 API키
결제 테스트를 진행중입니다.
결제 후 결과 페이지에서 Authorization: Basic base64(secretkey:) 이렇게 해서 confirm을 했는데
{"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다."}
이렇게 결과가 나옵니다.
확인 할 수 있을까요?
15 Replies
안녕하세요 🙂 client key와 secretKey를 서로 매칭되는 정보를 확인하셨을까요? 각각 key는 개발자센터 (developers.tosspayments.com)에서 확인가능합니다.
넵 확인 했습니다.
client key로 결제 창이 뜨는 것을 확인했고
success페이지에서
secretkey 값을 base64 인코인해서 confirm을 했는데
위와 같은 결과 메세지가 나왔습니다.
사용하신 주문번호 전달해주세요 확인도와드리겠습니다.
테스트 D20221019182530154300
D20221019182530154300
이것 입니다.
승인 api쓰실 때 사용하신 시크릿 키를 잘못사용하고 계십니다.
client key에서 'ck' > 'sk'로 바꾸셨어요
https://developers.tosspayments.com/ > '내 개발정보' 들어가서 apikey 확인해서 사용하셔야합니다.
key가 2개가 보일거에요
혹시 success 페이지 말씀이신가요?
저도 clientkey와 secretkey 두개를 확인했었고
$clientKey_test="test_ck_7XZYkKL4MrjbJ0gZ0xor0zJwlEWR";
$secretKey_test="test_sk_jZ61JOxRQVEPAWgwqlg3W0X9bAqw";
$base64Key=base64_encode($secretKey_test.":");
이렇게 해서
사용 했습니다.
바뀐거 같지는 않은거 같아요
시크릿키를
test_sk_7XZYkKL4MrjbJamJEYEr0zJwlEWR
이 값을 인코딩 해서 보내주셨네요
test_sk_jZ61JOxRQVEPAWgwqlg3W0X9bAqw
이 값을 인코딩 해서 진행 해보시겠어요?
그래서 저희가 ck > sk 라고 답변을 드렸었어요
지금 해당 부분 소스를 좀 보내 드릴게요
$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);
보시는 것 처럼
저렇게 수정할만한게 ㅠㅠ
일단 이 코드에서는 정상적인것처럼 보이지만... 저희쪽 데이터는 test_sk_7XZYkKL4MrjbJamJEYEr0zJwlEWR 데이터를 보내주고 계십니다.
아..잠시만요
지금 보니까...Basic 다음에 소스가 이상한거 같으니 그거 한번 확인해 보고
다시 안되면 질문 드리겠습니다.
감사합니다.
네 언제든 문의 주세요 🙂
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
아..되네요 제가 실수고 . 대신에 ,를 넣는 바람에...별것 아닌 것 가지고 질문 드렸네요. 친철한 답변 감사드립니다.