결제위젯 결제승인 API 호출후
github 에 있는 payment-samples 의 success.php 를 동일하게 사용하여 시험 중 입니다 만,
isSuccess 가 not true 로 되어 지네요...
secretKey 는 계약전 연동시험시 사용하라고 알려준 키를 사용 하고있습니다.
고맙습니다.
----------------------------------------------------------------------------
$url = 'https://api.tosspayments.com/v1/payments/confirm';
$data = ['paymentKey' => $paymentKey, 'orderId' => $orderId, 'amount' => $amount];
//$secretKey = 'test_ak_ZORzdMaqN3wQd5k6ygr5AkYXQGwy';
$secretKey = 'test_sk_zXLkKEypNArWmo50nX3lmeaxYG5R';
$credential = base64_encode($secretKey . ':');
$curlHandle = curl_init($url);
curl_setopt_array($curlHandle, [
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => [
'Authorization: Basic ' . $credential,
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);
$response = curl_exec($curlHandle);
$httpCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
$isSuccess = $httpCode == 200;
17 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
isSuccess 는, 단순히 결제승인 실패 여부를 확인해서 분기하기 위한 목적으로 넣어드린 것 인데요
승인API 요청이 실패 하신것 아닌가 생각 되는데,
해당 주문건 특정을 위한 주문번호 orderId 전달 부탁 드립니다.
연동시험에 사용한 orderId 는 아래와 같습니다
orderId: 'AD8aZDpbzXs4EQa-UkI00'
isSuccess 가 false 라면 승인이 실패한것이고,
그러면 $response 에 어떤 에러가 넘어왔는지확인해 주셔야합니다.
$responseJson->message 의 message 가 null 인 것을 보아
response 자체가 이루어지지 않은 것으로 보입니다
말씀하신 내용이 맞다면 저희쪽으로도 요청이 들어오지 않았을겁니다. 혹시 방화벽을 사용하시나요?
$response 이 것 전체를 찍어서 확인해 주시기 바랍니다.
예. 진행해보겠습니다
저희 로그상으로도 승인 요청 API 로 요청이 들어온게 없습니다.
PHP 서버에 위치한 브라우저 로 해당 APU URL 을 호출해보니
{"code":"UNAUTHORIZED_KEY","message":"인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.","data":null}
이렇게 결과가 나오네요
브라우저에서 하니 당연히 그렇겠 군요....
네 해당 php 코드로 실행시켜 주셔야 합니다.
예..제가 조금 더 진행해 보겠습니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
서버의 PHP 버전 문제가 아닐까 하여 PHP8 에서 PHP7 으로
다운그레이드 하여도 결과는 동일 합니다.
간혹 브라우저가 시간이 지난후
아래와 같은 결과를 띠우는데 참고가 될련지요 ?
INVALID_REQUEST
필수 파라미터가 누락 되었습니다 (LGD_RESPCODE)
🫖 에러메세지를 찾아주세요 🧚
* code :
INVALID_REQUEST
* message : 잘못된 요청입니다.
🧞 발생가능한 에러를 모두 알려드려요~
🔮 신용카드
🔮 신용카드
🔮 신용카드
🔮 신용카드
🔮 신용카드
예상문제는 상점관리자에서 주문번호 별로도 확인가능해요!
해당 에러를 받으신 주문번호를 알수 있을까요?
주문번호가 2023051020529379 이실까요?
맞다면.. 요청 파라미터에 amount 가 null 이고, successUrl, failUrl 도 누락하신 것으로 보여요.
이슈 해결 되었습니다
PHP 서버 문제 인것으로 보입니다
curl 사용시 SSL 을 적용하지 않게 option 을 주었더니
curl_exec 가 정상적 으로 진행 되네요...
지원 감사 드립니다