카카오페이 api 테스트 에러 관련 질문입니다

현재 카카오페이 api를 테스트로 사용해보려고 하고있는데요.
adminKey도 발급받은대로 입력하고 cid도 테스트 용으로 적었는데
{“msg”:“cid can’t be null.”,“code”:-2} 이 에러가 계속 뜨네요. 문제가 뭘까요…

현래 리눅스에서 php로 개발하고 있습니다.

<?php

include “session.php”;

$uid = $_SESSION[‘ses_useruid’]; // 세션에 저장되어있는 현재 로그인한 유저의 uid

$adminkey = “688fcbedf66a8e2b8d639e8dbc17a5d0”; // admin
$cid = “TC0ONETIME”; // cid
$req_auth = ‘Authorization: KakaoAK ’ . $adminkey;
$req_cont = ‘Content-type: application/x-www-form-urlencoded;charset=utf-8’;
$kakao_header = array($req_auth, $req_cont);
$approval_url = “http://localhost”;
$cancel_url = “http://localhost”;
$fail_url = “http://localhost”;
$pay_url = “https://kapi.kakao.com/v1/payment/ready”;
$cu = curl_init();
$kakao_arr = array(
‘cid’ => $cid, // 가맹점코드
’partner_order_id’ => $h_orderNum, // 주문번호
’partner_user_id’ => $uid, // 유저id
’item_name’ => $_POST[‘g_name’], //상품명
’quantity’ => $_POST[‘quantity’], // 상품 수량
’total_amount’ => $_POST[‘sum’], // 상품 총액
’tax_free_amount’ => ‘0’, // 상품 비과세 금액
’approval_url’ => $approval_url, // 결제성공 url
’cancel_url’ => $cancel_url,
‘fail_url’ => $fail_url,
);
curl_setopt($cu, CURLOPT_URL, $pay_url);
curl_setopt($cu, CURLOPT_POST, true);
curl_setopt($cu, CURLOPT_POSTFIELDS, $kakao_arr);
curl_setopt($cu, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($cu, CURLOPT_TIMEOUT, 30);
curl_setopt($cu, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cu, CURLOPT_HTTPHEADER, $kakao_header);
curl_setopt($cu, CURLOPT_HEADER, false);
$output = curl_exec($cu);
$status_code = curl_getinfo($cu, CURLINFO_HTTP_CODE);
curl_close($cu);
if ($status_code == 200) {
echo $output;
} else {
echo “Error 내용:” . $output;
}

?>

에러 내용은 CID 가 비어있다는 뜻 입니다.

개발자님의 소스는 CID 를 변수를 통해 취하는 것으로 보이는데, 소스 내용만 보고서는 확인해 드릴 수 있는 내용이 없습니다.
변수를 취하는 형태가 아닌 고정 값으로 테스트를 진행 부탁드립니다.

‘cid’ => $cid, // 가맹점코드
이부분에서 $cid말고 직접 TC0ONETIME 를 입력하라는 말씀이신가요?

‘cid’ => “TC0ONETIME”, // 가맹점코드
이렇게 해봤는데도 같은 에러가 뜨네요…ㅜㅜ

제가 확인해드릴 수 있는 것은 당사로 들어온 로그 뿐이며, 개발자님의 소스만을 보고는 도와드릴 수 있는 내용이 없습니다.
로그를 확인하기 위해서는 거래를 특정할 수 있는 값이 필요한데 partner_order_id 를 특정 값으로 해서 올려주시면 로그를 확인해드리겠습니다.

(ex. partner_order_id = qkrgprus1230001)

아아 네
올려주신 partner_order_id로 바꿔서 시도해봤습니다.

해당 값으로 올라온 내역이 없습니다.
CID 를 고정 값으로 넣으셨을 때도 같은 현상이 있었던 바 partner_order_id 도 세팅이 되지 않은 것으로 보입니다.

소스 개입이 배제된 postman 등의 툴을 이용해 테스트 후 개발 진행 요청 드립니다.

넵 도움주셔서 감사합니다.

$kakao_arr를 웹쿼리 형태 “key1=val1&key2=val2” 로 엔코딩하지 않아서 생기는 문제입니다

curl_setopt($cu, CURLOPT_POSTFIELDS, http_build_query($kakao_arr));

이렇게 엔코딩을 해주시면 해결됩니다

답글 감사합니다! 참고하도록 하겠습니다.:+1: