array:10 [
“cid” => “TC0ONETIME”
“partner_order_id” => "151665416351"
“partner_user_id” => "10"
“item_name” => “초코파”
“quantity” => "1"
“total_amount” => “2200"
“tax_free_amount” => 0
"approval_url” => “http://localhost/api/kakao/approval”
“cancel_url” => “http://localhost/api/kakao/cancel”
“fail_url” => “http://localhost/api/kakao/fail”
]
데이터값은 이렇게 넣었습니다.
$url = $this->kakao_curl."/v1/payment/ready";
$partner_order_id = $request->partner_order_id;
$partner_user_id = $request->partner_user_id;
$item_name = $request->item_name;
$quantity = $request->quantity;
$total_amount = $request->total_amount;
$tax_free_amount = 0;
$approval_url = config('app.kakao_approval_url');
$cancel_url = config('app.kakao_cancel_url');
$fail_url = config('app.kakao_fail_url');
$headers = array(
"Authorization: KakaoAK ".$this->admin_key,
'Content-type: application/x-www-form-urlencoded;charset=utf-8'
);
$data = array(
"cid" => $this->cid,
"partner_order_id" => $partner_order_id,
"partner_user_id" => $partner_user_id,
"item_name" => $item_name,
"quantity" => $quantity,
"total_amount" => $total_amount,
"tax_free_amount" => $tax_free_amount,
"approval_url" => $approval_url,
"cancel_url" => $cancel_url,
"fail_url" => $fail_url
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response);
return response(json_encode($result), 200)->header('Content-Type', 'application/json');
postman 으로 하면 문제가 없는데
curl 로 하면
{
“msg”: “cid can’t be null.”,
“code”: -2
}
라는 에러가 뜹니다.
해당 답변들을 보면 admin key 문제이거나 잘못된 cid 라고 되어있는데 postman 에서 실행했을때 문제 없는걸 보니 다른 문제인것 같은데 원인을 모르겠습니다.