Guide > 본인확인
본인확인
본인확인
본인확인 서비스(ver. V2) 연동하기
NHN KCP 본인확인 V2 서비스는 사용자가 본인확인 화면에서 인증을 완료하면 인증 처리 결과가 가맹점으로 전달되며,
가맹점이 본인확인 결과 조회 및 복호화 절차를 진행하여 사용자 본인 여부를 확인할 수 있는 서비스입니다.
✅ 본 서비스는 HTTPS 기반 API 통신 방식으로 제공되며, 데이터 보호를 위해 추가적인 암호화 방식을 적용합니다.
✅ 본인확인 서비스에 대한 API 및 파라미터는 API Reference를 확인해 주세요.
본인확인 서비스 흐름도

본인확인 서버 IP 정보
당사는 안정된 서비스 제공을 위해 도메인 기반 통신을 권장드리고 있습니다. IP 기준으로 화이트리스트를 관리하시는 가맹점의 경우는 서버 방화벽 정보에 기재된 IP를 모두 허용 바랍니다.
| 구분 | 테스트 | 운영 |
|---|---|---|
| URL | testcert.kcp.co.kr | cert.kcp.co.kr |
| IP | 210.122.176.55 | 211.36.208.10, 210.122.74.20 |
| PORT | 443 | 443 |
| 연결방향 | INBOUND/OUTBOUND | INBOUND/OUTBOUND |
ENC_KEY 발급 및 관리 유의사항
ENC_KEY는 본인확인 거래등록, 결과 조회 시 사용하며 가맹점만 요청 데이터를 생성 및 해석할 수 있도록 하여
가맹점 식별 및 데이터 위〮변조 방지를 목적으로 사용합니다.
ENC_KEY 발급경로
partner.kcp.co.kr 로그인 -> 기술관리센터 -> 인증센터 -> 가맹점 인증키 관리
✅ 실제 가맹점 정보로 연동 시 인증키가 발급 및 적용되지 않은 상태에서는 서비스를 이용할 수 없습니다.
반드시 관리자 페이지를 통해 인증키 발급을 완료 후 가맹점 소스에 적용해 주세요.
✅ 테스트용으로 제공되는 정보는 인증키 값이 사전에 발급되어 있어 별도의 발급 요청 없이 서비스 이용이 가능합니다.
1. Header 설정하기
Header는 본인확인 거래등록, 결과 조회 결과와 같은 KCP HTTPS API 통신 시 포함됩니다.
요청 데이터 예시
Content-Type : application/json
site_cd : AO7F3
rv : Q2hhbmd1VGh……HQ=Header 설정 값
site_cd필수PC / Mobile
영문대문자 또는 영문대문자+숫자로 구성됩니다.
모든 서비스에 사용합니다.
ex ) “site_cd" : “AO7F3“
※ 해당 값은 본인확인 거래등록, 본인확인 결과 조회에서 사용합니다.
rv필수PC / Mobile
암호화용 랜덤 값을 Base64로 인코딩한 값
※ 해당 값은 본인확인 거래등록에서만 사용하며,
본인확인 결과 조회에서는 사용하지 않습니다.
※ rv 값 생성 방법은 하단 암호화 처리를 참고하시기 바랍니다.
암호화 데이터 처리
가맹점에서 생성한 JSON 데이터를 NHN KCP에서 제공하는 라이브러리의 encrypJson 함수를 이용하여 enc_data, rv 값을 생성합니다.
생성된 값은 거래등록 API 호출 시 사용됩니다.
예시) enc_data, rv = encryptJson(json_text, enc_key, site_cd)2. 거래 등록 하기
본인확인 거래등록을 통해 본인확인 인증 URL과 거래등록키를 응답 받습니다.
거래등록이 완료되면 NHN KCP로부터 본인확인 화면 호출 및 결과 조회에 필요한 정보가 응답되며,
해당 정보(reg_cert_key, call_url)를 이용하여 고객에게 본인확인 화면을 호출할 수 있습니다.
이때 거래등록 응답 데이터 중 call_url 값은 변경될 수 있어 반드시 거래등록 후 응답 받은 값으로 사용해 주세요.
✅ 거래등록 응답으로 전달받은 reg_cert_key는 이후 본인확인창 호출과 본인확인 결과조회에서 사용되니 저장하여 관리 바랍니다.
✅ 거래등록 API Reference 바로가기
3. 본인확인창 호출하기
본인확인 인증창은 PC 환경에서 팝업, Mobile 환경에서는 페이지 전환 방식으로 호출하고 있습니다.
call_url 주소로 파라미터를 form 형태로 전달하여 아래와 같이 본인확인 인증창을 호출합니다.

본인확인창 호출 함수
function () {
var auth_form = document.form_auth;
auth_form.action = auth_form.call_url.value;
if (auth_form.kcp_page_submit_yn.value === "N") {
var width = 410;
var height = 500;
var left = (screen.width / 2) - (width / 2);
var top = (screen.height / 2) - (height / 2);
var opts = "width=" + width + ",height=" + height
+ ",toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no"
+ ",left=" + left + ",top=" + top;
window.open("", "auth_popup", opts);
auth_form.target = "auth_popup";
} else {
auth_form.target = "_self";
}
auth_form.submit();
}
본인확인창 호출 파라미터
reg_cert_key필수PC / Mobile
거래등록 후 응답 받은 거래 등록 키
ex) "reg_cert_key" : "1234567890123456"
* 인증 성공 후 바로 본인확인 결과 조회하시기 바랍니다.
kcp_page_submit_yn필수PC / Mobile
본인확인 인증 창 호출 방식
Y : 페이지전환 벙식 호출 (모바일 연동 시 페이지전환으로 구현)
N : 팝업 방식 호출
ex) “kcp page_submit_yn” : “Y
4. 본인확인창 인증 결과
고객의 본인확인 인증이 완료되면, 인증 처리 결과를 Ret_URL을 통해 가맹점으로 전달하는 단계입니다.
✅ 본인확인 결과 조회를 진행하지 않을 경우 고객 정보확인이 불가하므로,
정상 인증 결과(res_cd=0000) 수신 후 본인확인 결과 조회까지 진행하시기 바랍니다.
본인확인 인증 결과 파라미터
res_cdPC / Mobile
결과코드
인증 정상인 경우 '0000'값 리턴
ex) "res_cd" : "0000"
res_msgPC / Mobile
결과메세지
ex) "res_msg" : "정상처리"
reg_cert_key필수PC / Mobile
거래등록 후 응답 받은 거래 등록 키
인증 결과 Callback으로 내려온 reg_cert_key 값은
가맹점 DB에 저장된 거래등록키와 주문번호를 확인하여 일치하는지
검증하신 후 사용하시기 바랍니다.
param_opt_1 Mobile
NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) "param_opt_1" : "test"
param_opt_2 Mobile
NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) "param_opt_2" : "test"
param_opt_3 Mobile
NHN KCP 기본 파라미터 외 업체 추가 파라미터
ex) "param_opt_3" : "test"
5. 본인확인 결과 조회하기
가맹점 Ret_URL 로 응답 받은 결과가 정상인 경우 가맹점에서 NHN KCP로 본인확인 결과 조회를 요청하여 암호화 데이터를 응답받아요.
이후 가맹점 서버에서 암호화 데이터를 복호화하여 CI / DI, 성명 등 인증 완료된 고객 정보를 확인합니다.
✅ 본인확인 결과 조회 요청 전문은 평문 JSON 그대로 전송합니다.
✅ 본인확인 결과 조회에 대한 API 및 파라미터는 API Reference 를 확인해 주세요.
6. 본인확인 결과 복호화
본인확인 결과 조회를 통해 응답받은 암호화 인증 데이터(enc_cert_data, rv) 값을
NHN KCP에서 제공하는 라이브러리의 decryptJson 함수를
이용하여 복호화 결과 데이터(dec_data)를 생성합니다.
예시) dec_data = decryptJson(enc_cert_data, rv, ENC_KEY, SITE_CD)본인확인 결과 복호화 파라미터
res_cdPC / Mobile
결과코드
인증 정상인 경우 '0000'값 리턴
ex) "res_cd" : "0000"
res_msgPC / Mobile
결과 메시지
정상 처리된 경우 “정상처리” 리턴
ex) "res_msg" : “정상처리”
phone_noPC / Mobile
전화번호
ex) ”phone_no” : “01012341234”
user_namePC / Mobile
이름
ex) “user_name " : “홍길동"
birth_dayPC / Mobile
생년월일 (YYYYMMDD)
ex) “birth_day " : “19900101"
comm_idPC / Mobile
이동통신사 코드
SK텔레콤 – SKT
LG U+ - LGT
KT – KTF
SKT의 알뜰폰 – SKM
LG U+의 알뜰폰 – LGM
KT의 알뜰폰 – KTM
ex) “comm_id” : “KTF”
sex_codePC / Mobile
성별코드
01: 남성
02: 여성
ex) ”sex_code” : “01”
local_codePC / Mobile
내/외국인 정보
01: 내국인
02: 외국인
ex) ”local_code” “01
CIPC / Mobile
CI
특정 웹사이트가 타 웹사이트와의 제휴 사업을
수행할 경우, 동일 고객을 확인하기 위한 값
ex) ”CI” : fd3/2Qs0rBaz…dsdaffdsd==”
반드시 웹으로 노출되지 않도록 처리 필요
DIPC / Mobile
DI
중복가입 확인 값
특정 웹 사이트 내에서 중복가입 및 내부회원
관리 시, 동일 고객을 확인하기 위한 값
ex) ”DI” : ”MC0DCSqGS…sdsQmQ5!K=”
반드시 웹으로 노출되지 않도록 처리 필요
CI_URLPC / Mobile
CI URL 인코딩 데이터
특수문자가 포함될 수 있으며, 해당 특수문자가 포함되기 때문에 실제 CI, DI 값 차이가 발생할 수 있습니다.
이런 누락을 방지하기 위하여 URL 인코딩 하여 데이터를 내려드리며, 해당 값을 URL 디코딩하여 CI,DI 값으로 처리하시기 바랍니다.
ex) ”CI_URL” : “fd3/2Qs0rBa… 2dsdaffdsd==”
반드시 웹으로 노출되지 않도록 처리 필요
DI_URLPC / Mobile
DI URL 인코딩 데이터 (위와 내용 동일)
ex) ”DI_URL” : “MC0DCSqGSivd3…sQmQ5!K=”
반드시 웹으로 노출되지 않도록 처리 필요
APP 연동 시 확인사항
모바일 앱 환경에서 본인확인 서비스를 연동하는 경우, PASS 앱 정상호출 및 가맹점 앱 정상 복귀를 위해
안드로이드 패키지명 설정이 필요합니다.(IOS는 Universal Link 사용으로 앱스키마 설정이 필요하지 않습니다.)
안드로이드 앱의 Intent 처리방식은 앱구조에 따라 상이하므로, 안드로이드 앱 개발 가이드를 참고하여 구현 바랍니다.
PASS 앱, AOS 앱 패키지명 등록
※ targetSdkVersion 30 (Android 11) 이상일 경우 AndroidManifest.xml 내에 하기 패키지를 선언 바랍니다. 패키지명이 선언되어 있지 않을 경우, 앱 호출이 정상적이지 않을 수 있습니다.
| SKT | com.sktelecom.tauth |
| KT | com.kt.ktauth |
| LGU+ | com.lguplus.smartotp |