열정개발자
열정개발자16mo ago

안녕하세요. 현재 PHP 로 결제 연동중입니다.

결제 성공/실패 분기 처리 페이지에서 아래와 같이 에러 메세지가 노출됩니다. { "code": "INVALID_REQUEST", "message": "필수 파라미터가 누락되었습니다." } ※ 테스트 히스토리 1. 결제 실패. 2. 개발 로직 검토 후 개선. 3. live_ck_xxxxx 키로 결제 테스트 결과 위와 같이 동일. 4. test_ck_xxxxx 키로 결제 테스트 결과 위와 같이 동일. 5. 백-엔드 영역 재확인 시 프로그램에 대한 문제가 없음(결제부분 생략 후 결제 진행시 주문내역 정상 삽입) 6. 개발 로직 재검토 후 개선사항 불필요. 7. 결제테스트 진행시 위와 같이 동일. 위와 같습니다. 일단 내부적으로 검토할 수 있는 부분은 모두 검토하였는데 토스 결제 모듈 관련 부분에서 위와 같이 Response Data 중 code 200으로 반환되지 않네요.
12 Replies
토스페이먼츠 BOT
🫖 에러메세지를 찾아주세요 🧚
* code : INVALID_REQUEST * message : 잘못된 요청입니다. 🧞 발생가능한 에러를 모두 알려드려요~ 🔮 신용카드
- 예상문제 : 주민번호 또는 사업자번호가 숫자가 아닙니다.
- 해결방안 : 주민번호/사업자 번호에 숫자가 아닌 문자가 있습니다. 다시한번 확인해 주시기 바랍니다.
- 예상문제 : 주민번호 또는 사업자번호가 숫자가 아닙니다.
- 해결방안 : 주민번호/사업자 번호에 숫자가 아닌 문자가 있습니다. 다시한번 확인해 주시기 바랍니다.
🔮 신용카드
- 예상문제 : 주민번호/법인번호 자리수 오류입니다.
- 해결방안 : 주민번호또는 사업자 번호의 자리수가 올바르지 않습니다 주민번호 13자리, 사업자 번호 10자리 숫자입니다.
- 예상문제 : 주민번호/법인번호 자리수 오류입니다.
- 해결방안 : 주민번호또는 사업자 번호의 자리수가 올바르지 않습니다 주민번호 13자리, 사업자 번호 10자리 숫자입니다.
🔮 신용카드
- 예상문제 : 잘못된 결제요청입니다. 다시 시도해 주시기 바랍니다.
- 해결방안 : 결제 요청시 오류가 발생했습니다. 잠시후 다시 시도해 주시기 바랍니다.
- 예상문제 : 잘못된 결제요청입니다. 다시 시도해 주시기 바랍니다.
- 해결방안 : 결제 요청시 오류가 발생했습니다. 잠시후 다시 시도해 주시기 바랍니다.
🔮 신용카드
- 예상문제 : Z2:Not Exist Error MsgCode
- 해결방안 : 원인을 알수 없는 오류입니다. 카드사로 문의해 주시기 바랍니다.
- 예상문제 : Z2:Not Exist Error MsgCode
- 해결방안 : 원인을 알수 없는 오류입니다. 카드사로 문의해 주시기 바랍니다.
🔮 신용카드
- 예상문제 : 금액 필드가 잘못되었습니다.
- 해결방안 : 결제 금액을 잘못 입력하셨습니다. 다시 한번 확인해 주시기 바랍니다.
- 예상문제 : 금액 필드가 잘못되었습니다.
- 해결방안 : 결제 금액을 잘못 입력하셨습니다. 다시 한번 확인해 주시기 바랍니다.
예상문제는 상점관리자에서 주문번호 별로도 확인가능해요!
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
열정개발자
열정개발자OP16mo ago
분명 샘플 예제를 보고 그에 맞는 파라미터도 전달하였고 내부적으로 개작해야하는 부분은 개작하였는데 파라미터 값 분기별 내역을 노출해봤는데 정상적으로 다 들어가서 문제가 없다고 판단한 것입니다. 혹시 결제 진행시에 샘플 예제에서 기록된 파라미터값 외에 추가적으로 더 설정해줘야 할까요??
Kimoon Lee
Kimoon Lee16mo ago
혹시 paymentkey 공유해주실수 있을까요?
열정개발자
열정개발자OP16mo ago
잠시만요. PaymentKey : 01OAv2P6yqLlDJaYngro5LewPvZWMm3ezGdRpXxKN7BQMEk4 위와 같습니다.
today.lastday
today.lastday16mo ago
/v1/payments/confirm 승인 API 호출하실 때 파라메터가 전달되었는지 확인 부탁드려요.
today.lastday
today.lastday16mo ago
승인 API 호출시 body에 paymentKey, orderId, amount가 필수로 추가되어야 합니다. https://docs.tosspayments.com/reference#%EA%B2%B0%EC%A0%9C-%EC%8A%B9%EC%9D%B8
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
열정개발자
열정개발자OP16mo ago
$url = 'https://api.tosspayments.com/v1/payments/confirm'; $RESP_DATA['paymentKey'] = $_GET['paymentKey']; $RESP_DATA['order_code'] = $_GET['orderId']; $RESP_DATA['amount']=!empty($_POST['amount'])?$_POST['amount']:$_GET['amount']; if($DAT_PAY_SETUP['TP_test_use'] == 1) { $secretKey = $MMALL_PAY_SETUP['TP_test_ck_apikey']; } else { $secretKey = $MMALL_PAY_SETUP['TP_live_ck_apikey']; } $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($RESP_DATA) ]); $response = curl_exec($curlHandle); $httpCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE); $isSuccess = $httpCode == 200; $responseJson = json_decode($response); 위와 같이 curl 위에 호출할때 파라미터가 전달되게끔 처리해놓았습니다.
Kimoon Lee
Kimoon Lee16mo ago
데이터를 잘못 보내주셨네요. {"pgsys":"\ud1a0\uc2a4 \ud398\uc774\uba3c\uce20","paymentKey":"01OAv2P6yqLlDJaYngro5LewPvZWMm3ezGdRpXxKN7BQMEk4","order_code":"1170020025191","amount":"1100","amount_num":"1,100"} orderId 를 안보내주셨습니다.
열정개발자
열정개발자OP16mo ago
넵 확인해보겠습니다. @냥과장 { "code": "UNAUTHORIZED_KEY", "message": "인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다." } 위의 파리미터 정정 후 위와 같이 뜹니다. 혹시 파리미터 전송할 때 시크릿 키로 해야하나요. 아니면 클라이언트 키로 해야하나요? 결제성공했습니다. 감사합니다~ ^^
Kimoon Lee
Kimoon Lee16mo ago
네 감사합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?