Skip to main content
Version: 1.1.0

postMessage 자세히 확인하기

postMessage

eKYC 인증이 완료되면 유스비 eKYC는 고객사 서비스에 postMessage 형태의 인증 결과를 전달해요.
이 메시지를 통해 고객사는 엔드 유저의 인증 성공, 실패 여부와 결과의 상세한 내용을 확인할 수 있어요.
또한, 확인한 결과를 기준으로 고객사의 서비스에서 다음 절차를 어떻게 진행할지 판단해요.

이 문서에서는 아래 내용을 차례대로 안내할게요.

  1. postMessage 개요
  2. postMessage 구조 이해하기
  3. 이용 서비스 result type별 postMessage
Q. 결과를 어디서 어떻게 받아야하나요?

A. eKYC 인증이 끝나면 결과는 eKYC 화면을 띄운 페이지(부모 페이지)로 전달돼요.
웹(iframe)과 앱(WebView) 모두 동일하게, postMessage 이벤트로 결과를 받아 화면 안내와 데이터 처리를 하면 됩니다.

Q. postMessage에 어떤 정보가 담겨있나요?

A. postMessage는 2번에 걸쳐 심사 결과를 전달해요.
1차 메시지는 인증의 성공 여부(성공, 실패, 심사 대기)와 인증 결과의 상세 내용을 담고 있어요.
2차 메시지에는 엔드 유저가 인증 성공 후 화면을 종료했는지 여부(완료, 미완료)가 담겨있어요

Q. 심사 대기 (wait_review)는 어떤 상황에 발생하나요?

A. 고객사의 판단이 필요한 경우들에 발생해요. 그 중 하나의 예시가 엔드 유저가 신분증을 촬영해 인식된 정보를 지우고 수기 입력한 뒤에 심사를 요청한 경우예요.
이 때, 고객사에서는 postMessage로 전달된 상세 결과를 확인해 촬영된 신분증의 정보와 수기 입력된 정보를 비교하고 최종 결과를 판단하면 돼요.
유스비 eKYC에서 심사 대기로 판단하는 자세한 상황은 이 문서의 3. 이용 서비스 result type별 postMessage에 안내된 내용을 확인해 주세요.

Q. postMessage로 전달된 결과로 고객사에서 별도의 작업을 해야하나요?

A. 네, 유스비의 eKYC는 엔드 유저의 신원을 확인하고 확인된 결과를 고객사에 전달하는 역할까지만 담당해요. 따라서 심사 결과에 따라 고객사의 서비스에서 어떻게 처리할지는 고객사의 정책이 필요합니다.
예를 들어, 인증이 성공이면 회원가입 절차를 이어가거나, 인증이 실패하면 재시도 안내를 띄우는 식으로 고객사가 직접 판단하고 처리해야 해요. 특히, 결과가 심사 대기 (result type 값이 5로 리턴된 경우) 일 때에는, 해당 상태를 어떻게 판단해서 처리할지 고객사만의 프로세스를 정의해야 해요.


1. postMessage 개요

1) postMessage란?

고객사 서비스에서 엔드 유저가 진행한 인증 결과를 전달하는 통신 수단이에요.
이 메시지를 통해 고객사는 인증 성공, 실패 여부를 확인할 수 있습니다.

2) 왜 중요한가요?

postMessage는 고객사 서비스의 내부 프로세스를 연결하는 기준 데이터예요.
결과에 따라 고객사가 후속 처리(UI, 데이터 저장)를 직접 구현해야 하기 때문에 중요해요.

3) 결과 타입에 따른 고객사 처리 방식 예시

  • result_type: 1 = 인증 성공 → 다음 단계로 이동
  • result_type: 2 = 인증 실패 → 재시도 안내 화면 노출
  • result_type: 5 = 심사 대기 → 검토 후 후속 처리 (고객사 내부 정책에 따라 판단)

2. postMessage 구조 이해하기

1) postMessage는 왜 두 번에 걸쳐 오나요?

eKYC 인증이 완료되면 useB.는 두 번에 나누어 postMessage를 보내요.

  • 1차 메시지는 인증 성공 여부 및 결과 (result, review_result)
  • 2차 메시지는 인증 성공 여부 및 종료 상태 (result)

먼저 1차 결과를 전송해 고객사가 빠르게 처리할 수 있도록 하고, 이후 사용자가 솔루션을 종료할 때 최종 2차 결과를 전송해요. 이렇게 하면 고객사 화면의 로딩 시간을 줄이고, 사용자 경험을 더 매끄럽게 만들 수 있어요.

postMessage 흐름
  • 1차 메시지는 인증 성공 여부를 기준으로 UI 흐름을 분기할 수 있게 도와줘요.
  • 2차 메시지는 사용자가 인증 화면을 종료했는지 판단하는 용도로 활용돼요.

2) 메시지별 구조 예시

1차 메시지. result + review_result

인증이 성공했는지 실패했는지를 알려주는 결과 요약 메시지예요.
이 메시지를 받은 후 바로 사용자 정보를 처리하거나 다음 단계를 준비할 수 있어요.

1) 인증의 성공 여부를 알려주는 result 와 결과 내용을 알 수 있는 review_result 가 전달돼요.

  /**
* result: 인증 성공/실패 여부
* - success : 자동승인, 심사필요
* - failed : 자동거부
* review_result: 인증데이터 상세 결과객체
*/
{
"result": "success", // "success" | "failed"
"review_result": {
/* reivew id */
"id" : 357

/* 요청시간 */
"request_time": "2021-12-25T03:55:31.918Z",

/* 사용자 정보 */
"name": "홍길동",
"phone_number": "01012345678",
"birthday": "2000-01-01",

/* 결과 타입 */
"result_type": 1,
/**
* result_type
* - 1: 자동승인(auto_approve), 신분증 OCR 인식결과대로 자동승인.
* - 2: 자동거부(auto_reject), 신원정보 3회 오입력/1원 계좌인증 3회실패 등 진위확인 실패에 따른 자동거부.
* - 5: 심사필요(wait_review), 신분증 OCR 인식결과를 사용자가 수정하면 심사대상이 됨.
* ex) 1원 계좌인증 시 예금주명을 변경한 경우
*/

/* 인증절차에 사용되는 기능 */
"module": {
"id_card_ocr": true, // 신분증OCR 기능 사용여부,
"id_card_verification": false, // 신분증진위확인 기능 사용여부,
"face_authentication": false, // 신분증얼굴vs셀피얼굴 비교 기능 사용여부,
"account_verification": true, // 1원 계좌인증 사용여부,
"liveness": false // 얼굴 라이브니스(진위확인) 기능 사용여부,
},
"id_card": { // 신분증 인증 결과
/* idType : 1 (주민등록증)
idType : 2 (운전등록증)
idType : 3 (한국여권)
idType : 4 (외국인여권)
idType : 5-1 (외국인등록증)
idType : 5-2 (외국국적동포 국내거소신고증)
idType : 5-3 (영주증) */
},
"face_check": { // 안면 인증 결과
},
"account": { // 1원 계좌인증 결과
}
}
}

2) review_result 안에 결과 타입을 알려주는 result_type 이 제공돼요.

/**
* result_type
* - 1: 자동승인(auto_approve), 신분증 OCR 인식결과대로 자동승인.
* - 2: 자동거부(auto_reject), 신원정보 3회 오입력/1원 계좌인증 3회실패 등 진위확인 실패에 따른 자동거부.
* - 5: 심사필요(wait_review), 신분증 OCR 인식결과를 사용자가 수정하면 심사대상이 됨.
* ex) OCR 진행 후 주민등록번호, 발급일자, 운전면허번호, 1원 계좌인증 후에 예금주명 * 등을 변경한 경우
*/
{
"result": "success",
"review_result": {
"result_type": 1 // 1, 2, 5
// ...
}
}

2차 메시지. result

사용자가 인증을 마치고 인증 화면을 닫거나 중간에 나갔을 때 전달되는 화면 종료 상태 메시지예요.

/**
* result: 서비스 종료
* - complete : 완료 (인증성공 후 서비스 종료)
* - close : 미완료 (인증실패 후 서비스 종료 또는 중도이탈)
*/
{
"result": "complete" // "complete" | "close"
}
postMessage 수신 흐름
  • 인증 성공/실패 후,
    1차 postMessage { result: success, failed, review_result } 전송
  • 이후 앱이 종료되거나 중도 이탈되면
    2차 postMessage { result: complete, close } 전송

중도이탈: 우측 상단의 X버튼 또는 왼쪽 하단의 취소버튼으로 서비스 종료 시
1차 postMessage 없이 바로 2차 postMessage(result: close)가 전달됩니다.

  • complete: 인증 완료 후 정상 종료됨
  • close: 인증 실패 또는 사용자가 도중에 인증을 종료함
    ※ 어떤 경우든 2차 메시지를 통해 인증 UI 종료 시점을 정확히 알 수 있어요.

3) 인증 결과 수신 후 처리 방법

UI 처리 예시

상황화면 처리 방식
인증 실패 (result = failed)"인증에 실패했어요. 다시 시도해 주세요" 메시지와 함께 재시도 버튼 노출
인증 성공 + 자동 승인가입/결제 등 다음 단계로 바로 이동
심사 필요 (result = 5)"심사 중입니다" 안내 문구와 고객센터 연결 안내

데이터 처리 예시

목적활용 필드처리 방식
사용자 정보 저장review_result.name,phone_number,birthday

사용자 DB에 기본 정보 저장

인증 결과 상태 저장result_type

인증 결과 상태 코드로 저장 (verified,rejected,pending 등)

심사 분기 처리result_type === 5

상태를 심사 대기(wait_review)로 저장하고 검토 대기


3. 이용 서비스 result type별 postMessage


  • 모든 서비스의 postMessage JSON Data.
postMessage 데이터 확인하기
{
"review_result": {
"id": 30, // index (순차적으로 증가)
"transaction_id": "1678067359651919107-6146956228855893404",
"request_time": "2023-03-06T02:00:17.647Z",
"name": "홍길동", // 필수정보로 입력 받은 성명
"phone_number": "01011112222", // 필수정보로 입력 받은 휴대폰번호
"birthday": "1982-11-11", // 필수정보로 입력 받은 생년월일
"result_type": 2, // 인증 결과 타입 result_type [1 -> 자동승인 | 2 -> 자동거부 | 5 -> 수동심사대상]
"result_email": 0, // 인증결과 email로 수신
"result_sms": 0, // 인증결과 sms로 수신
"module": {
"id_card_ocr": true, // 신분증 OCR 기능 사용 유무
"id_card_verification": true, // 신분증 진위확인 기능 사용 유무
"face_authentication": true, // 안면일치여부확인 기능 사용 유무
"account_verification": true, // 1원계좌인증 기능 사용 유무
"liveness": true, // 안면위변조(liveness) 기능 사용 유무
"custom_field": false // EDD용 개인정보수집(custom filed) 기능 사용 유무
},

// 아래쪽에 사용하지 않는 서비스는 null값으로 표현됨
"id_card": {
"modified": false, // ocr 후 정보 수정 유무
"verified": true, // 신분증 진위확인 결과
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...", // masked 신분증 image base64
"id_crop_image": null,// 신분증 상의 안면 이미지(안면인증 사용하지 않으면 null)
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"11-16-111111-60\",\"juminNo1\":\"821111\",\"juminNo2\":\"1011111\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"issueDate\":\"20160708\",\"truth\":\"real",\"confidence\":\"0.99\",\"transaction_id\":\"509325442640546ab138361678067371\"}", // 신분증 OCR 결과(json 형식), truth : 사본판별여부 real or fake, confidence : 사본판별결과값 0~1, 1에 가까울수록 real임
"modified_ocr_data": null, // 신분증 OCR 결과에서 사용자가 직접 수정한 내용
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...", // original 신분증 image base64
"id_card_origin_back": null, // original 신분증 뒷면 image base64(외국인등록증의 경우 뒷면 image를 제공하여, 이외의 신분증에서는 null)
"is_manual_input": false, // ocr 5회 실패, 업로드 실패 이후 수기입력 여부
"uploaded_type": "pc", // pc, mobile 에서 진행한 경우
"is_uploaded": true // true : 업로드한 경우, false : 직접 촬영한 경우
"id_real": true // SSA 사본탐지 사용 시 관련 리턴값 true : 진본, false : 사본, null : 미사용 시
"id_conficence": 1 // 0.5기준으로 0에 가까울 수록 is_real : false, 1에 가까울수록 is_real : true, null : 미사용 시
},
"face_check": {
"is_same_person": 1, // 안면 일치 여부 [1-> 자동승인 | 2-> 수동심사대상 | 3->자동거부]
"is_masked": 0, // 마스크 착용 여부 [0-> 미착용] BETA용 리턴 값, 무조건 0으로 리턴
"is_live": 1, // 안면 liveness 여부 [1-> 자동승인 | 2-> 자동거부]
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..." // 안면 image base64
"account": {
"verified": false,
"finance_code": "081", // 은행코드(가상자산, 온투업자는 펌뱅킹프리미엄 참고)
"finance_company": "KEB하나은행", // 금융기관명
"account_number": "28881043611111", // 계좌번호
"account_holder": "홍길동", // 엔드유저가 수기로 input한 값
"mod_account_holder": null, // 개인or개인사업자 : 수정한 예금주명 | 법인계좌실명조회 사용시: 계좌실명조회에서 리턴된 예금주명
"business_number": null // 사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"edd_result": null,
"ra_result": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "failed" // 인증 성공 or 실패 ["success" | "failed"],
}

1) 신분증 인증 (id_card)

result_type : 1 ⇒ 자동 승인
(1) mobile - OCR 후 자동 승인
        {
"review_result": {
"id": 506,
"transaction_id": "1677747097405713164-7701910557192523634",
"request_time": "2023-03-02T08:51:37.406Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1981-11-11",
"result_type": 1, **// 확인할 포인트**
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false, **// 확인할 포인트**
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"황희준\",\"driverNo\":\"11-16-044391-60\",\"juminNo1\":\"821121\",\"juminNo2\":\"1056915\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"773348177640063a3189591677747107\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_card_origin_back": null,
"is_manual_input": false, **// 확인할 포인트**
"uploaded_type": "camera", **// 확인할 포인트**
"is_uploaded": false, **// 확인할 포인트**
"id_real": null
"id_conficence": null
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(2) mobile - OCR 5회 실패 후 upload 후 OCR, 진위확인 통과
  • OCR 실패: 핵심정보(이름, 주민등록번호 13자리)를 제대로 읽지 못하는 경우를 의미해요.
        {
"review_result": {
"id": 490,
"transaction_id": "1677217119330964473-6206414049168964295",
"request_time": "2023-02-24T05:38:39.331Z",
"name": "홍길동",
"phone_number": "01035311295",
"birthday": "1981-11-11",
"result_type": 1, **// 확인할 포인트**
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"황희준\",\"driverNo\":\"11-16-044391-60\",\"juminNo1\":\"821121\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"60981569163f84df706a3b1677217271\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_card_origin_back": null,
"is_manual_input": false, **// 확인할 포인트**
"uploaded_type": "mobile", **// 확인할 포인트**
"is_uploaded": true, **// 확인할 포인트**
"id_real": null
"id_conficence": null
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(3) PC mobile - Upload 후 자동 승인

참고: 확인 부탁드립니다.

        {
"review_result": {
"id": 505,
"transaction_id": "1677746862336615800-7971970740590766618",
"request_time": "2023-03-02T08:47:42.337Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1981-11-11",
"result_type": 1, **// 참고**
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"11-16-111111-60\",\"juminNo1\":\"811111\",\"juminNo2\":\"1011111\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"809068790640062b77ea501677746871\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc", **// 참고**
**"is_uploaded": true, // 참고**
"id_real": null
"id_conficence": null ****
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
result_type : 2 ⇒ 자동 거부(진위 확인 3회 연속 실패)
  • 진위확인 실패 : 틀린 개인정보를 입력하여 정부DB에서 fail값을 리턴해준 경우
   {
"review_result": {
"id": 492,
"transaction_id": "1677217619183516808-6503970255202910058",
"request_time": "2023-02-24T05:46:59.184Z",
"name": "홍길동",
"phone_number": "01035311295",
"birthday": "1981-11-11",
"result_type": 2,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": false,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"11-16-044391-60\",\"juminNo1\":\"811111\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"12851168663f84f78d80dd1677217656\"}",
"modified_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"11-16-044391-61\",\"juminNo1\":\"811111\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"12851168663f84f78d80dd1677217656\"}",
"id_card_origin": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"id_real": null,
"id_conficence": null
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "failed"
}
result_type : 5 ⇒ 심사 필요(OCR 후 수정한 경우)
(1) OCR 결과를 엔드유저가 수동으로 정보 수정하였을 경우
{
"review_result": {
"id": 487,
"transaction_id": "1677127155865262274-0616979067888836987",
"request_time": "2023-02-23T04:39:15.865Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"1\",\"userName\":\"김유스비\",\"juminNo1\":\"960201\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"issueDate\":\"20180128\",\"transaction_id\":\"118145543363f6ee1a5fc6d1677127194\"}", // OCR이 최초 읽은 값으로 들어감.
"modified_ocr_data": "{\"idType\":\"1\",\"userName\":\"홍길동\",\"juminNo1\":\"970704\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"issueDate\":\"20141231\",\"transaction_id\":\"118145543363f6ee1a5fc6d1677127194\",\"birthDate\":\"19970101\"}", // 수정 된 정보는 해당 key값에 들어감.
"id_card_origin": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"id_real": null,
"id_conficence": null
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(2) OCR 5회 실패 → Upload OCR 실패 → 수기입력
       {
"review_result": {
"id": 491,
"transaction_id": "1677217472149075420-0184033532762430287",
"request_time": "2023-02-24T05:44:32.149Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{}",
"modified_ocr_data": "{\"userName\":\"홍길동\",\"birthDate\":\"19970101\",\"driverNo\":\"11-11-111111-11\",\"juminNo1\":\"970101\",\"juminNo2\":\"\",\"_juminNo2\":\"1\",\"issueDate\":\"\",\"idType\":\"2\"}",
"id_card_origin": null,
"id_card_origin_back": null,
"is_manual_input": true,
"uploaded_type": "mobile",
"is_uploaded": true,
"id_real": null,
"id_conficence": null
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(3) OCR 5회 실패 → camera 촬영 → 수기입력
{
"review_result": {
"id": 488,
"transaction_id": "1677133018655862737-6069057054324030986",
"request_time": "2023-02-23T06:16:58.656Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{}",
"modified_ocr_data": "{\"userName\":\"홍길동\",\"birthDate\":\"19970101\",\"juminNo1\":\"970101\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"0\",\"issueDate\":\"11111111\",\"idType\":\"1\"}",
"id_card_origin": null,
"id_card_origin_back": null,
"is_manual_input": true,
"uploaded_type": "camera",
"is_uploaded": false
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(4) 신분증 진위확인을 사용하지 않는 경우
{
"review_result": {
"id": 488,
"transaction_id": "1677133018655862737-6069057054324030986",
"request_time": "2023-02-23T06:16:58.656Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true, // 신분증 OCR Scope 활성화
"id_card_verification": false, //진위확인 Scope 비활성화
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false,
"verified": null,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"userName\":\"홍길동\",\"birthDate\":\"19970704\",\"juminNo1\":\"970704\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"0\",\"issueDate\":\"11111111\",\"idType\":\"1\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false
},
"face_check": null,
"account": null,
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}

2) 1원 계좌 인증 (account)

result_type : 1 ⇒ 자동 승인
  • 진위확인 실패 : 틀린 개인정보를 입력하여 정부DB에서 fail값을 리턴해준 경우
   {
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012345678",
"birthday": "1999-01-01",
"result_type": 1,
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": false,
"id_card_verification": false,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": null,
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "홍길동",
"mod_account_holder": null,
"business_number": null //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
result_type : 2 ⇒ 자동 거부(계좌인증 5분 경과 or 인증코드 3회 연속 실패)
   {
"review_result": {
"id": 155,
"transaction_id": "1677133865615521897-6481321711021295318",
"request_time": "2023-02-23T06:31:05.616Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1997-01-01",
"result_type": 2,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": false,
"id_card_verification": false,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": null,
"face_check": null,
"account": {
"verified": false,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "111111111",
"account_holder": "홍길동",
"mod_account_holder": null,
"business_number": null //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "failed"
}
result_type : 5 ⇒ 심사 필요(계좌의 예금주명을 수정한 경우)
  {
"review_result": {
"id": 154,
"transaction_id": "1677133423641878200-3516635666780974534",
"request_time": "2023-02-23T06:23:43.642Z",
"name": "홍길동",
"phone_number": "01012345678",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": false,
"id_card_verification": false,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": null,
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "홍길동",
"mod_account_holder": "홍길동",
"business_number": null //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"

result_type : 5 ⇒ 심사 필요(법인계좌 1원 인증의 경우)
  {
"review_result": {
"id": 154,
"transaction_id": "1677133423641878200-3516635666780974534",
"request_time": "2023-02-23T06:23:43.642Z",
"name": "홍길동",
"phone_number": "01012345678",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": false,
"id_card_verification": false,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": null,
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "(주)유스비", //엔드유저가 수기로 작성한 input 예시
"mod_account_holder": "주식회사유스비", //계좌실명조회에서 리턴 된 이름 예시
"business_number": "123-45-67890" //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"

3) 신분증 인증 + 안면인증 (id_card + face_check)

result_type : 1 ⇒ 자동 승인
   {
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 1,
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": true,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...",
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"id_real": null,
"id_confidence": null
},
"face_check": {
"is_same_person": 1,
"is_masked": 0,
"is_live": 1,
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..."
},
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}

result_type : 2 ⇒ 자동 거부(진위확인 3회실패 or 사본판별 실패(어드민 심사 설정 가능) or 라이브니스 실패 or 얼굴 유사도 낮음 is_same_person : 3)
OCR 진위확인 3회 실패
       {
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 2, // 자동거부
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": false, // 진위확인 3회 실패 시 자동 거부
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍귈동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...",
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"id_real": null,
"id_confidence": null
},
"face_check": null, // OCR 단계에서 3회 실패 진행하였기 때문에 result_type = 2처리 되면서, face_check 미진행
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
사본판별 실패
       {
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 2, // 자동 거부
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": null,
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false,
"id_real": false,
"id_confidence": "0.0000" // confidence 값 0 -> id_real fasle (FAKE) 판정
},
"face_check": null, // OCR 단계에서 사본탐지 시 FAKE 판정 되었기 떄문에 result_type = 2(자동거부) 안면인증 미진행
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
라이브니스 실패
{
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 2, // 자동거부
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": null,
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false,
"id_real": null,
"id_confidence": null
},
"face_check": {
"is_same_person": 3,
"is_masked": 0,
"is_live": 2, // (1 -> 자동승인 , 2 -> 자동 거부) , is_live는 수동 심사 값 없음.
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..."
},
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
얼굴 유사도 낮음
{
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 2, // 자동거부
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": null,
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false,
"id_real": null,
"id_confidence": null
},
"face_check": {
"is_same_person": 3, // (1 -> 자동승인 , 2 -> 수동심사대상, 3 -> 자동거부)
"is_masked": 0,
"is_live": 1,
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..."
},
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
result_type : 5⇒ 심사 필요(OCR 결과 수정 or 얼굴 유사도 낮음 is_same_person : 2)
OCR 결과 수정
{
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-07-04",
"result_type": 5, // 수동심사 대상자
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길옹\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}", // OCR 오인식
"modified_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}", // 엔드유저 수정
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false,
"id_real": null,
"id_confidence": null
},
"face_check": {
"is_same_person": 1,
"is_masked": 0,
"is_live": 1,
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..."
},
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
얼굴 유사도 낮음
{
"review_result": {
"id": 153,
"transaction_id": "1677133298418078998-9014793078325941294",
"request_time": "2023-02-23T06:21:38.418Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-07-04",
"result_type": 5, // 수동심사 대상자
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": true,
"account_verification": false,
"liveness": true,
"custom_field": false,
"edd_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"홍길동\",\"driverNo\":\"12-13-456789-12\",\"juminNo1\":\"970704\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20330101\",\"expiryDate2\":\"\",\"issueDate\":\"20230721\",\"transaction_id\":\"2109679747670f5f9e42c521729060766\",\"birthDate\":\"19970704\"}",
"modified_ocr_data": null,
"is_manual_input": false,
"uploaded_type": "camera",
"is_uploaded": false,
"id_real": null,
"id_confidence": null
},
"face_check": {
"is_same_person": 2, // (1 -> 자동승인 , 2 -> 수동심사대상, 3 -> 자동거부)
"is_masked": 0,
"is_live": 1,
"selfie_image": "/9j/4AAQSkZJRgABAQAA...생략..."
},
"account": null,
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}

4) 신분증 인증 + 1원 계좌 인증 (id_card+account)

result_type : 1 ⇒ 자동 승인
   {
"review_result": {
"id": 29,
"transaction_id": "1677138757711307058-7814828194262348197",
"request_time": "2023-02-23T07:52:50.281Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1997-11-11",
"result_type": 1,
"result_email": 1,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"1\",\"userName\":\"홍길동\",\"juminNo1\":\"971111\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"issueDate\":\"20000000\",\"transaction_id\":\"71906744563f71b6b9daa21677138795\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "111111111",
"account_holder": "홍길동",
"mod_account_holder": null,
"business_number": null //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
result_type : 2 ⇒ 자동 거부(계좌인증 5분 경과 or 인증코드 3회 연속 실패)
  {
"review_result": {
"id": 30,
"transaction_id": "1678067359651919107-6146956228855893404",
"request_time": "2023-03-06T02:00:17.647Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1997-01-01",
"result_type": 2,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": false,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"2\",\"userName\":\"황희준\",\"driverNo\":\"11-16-044391-60\",\"juminNo1\":\"821121\",\"juminNo2\":\"1056915\",\"_juminNo2\":\"1******\",\"expiryDate1\":\"20260101\",\"expiryDate2\":\"20261231\",\"issueDate\":\"20160708\",\"transaction_id\":\"509325442640546ab138361678067371\"}",
"modified_ocr_data": null,
"id_card_origin": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": false,
"finance_code": "081",
"finance_company": "KEB하나은행",
"account_number": "11111111111111",
"account_holder": "홍길동",
"mod_account_holder": null,
"business_number": null //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "failed"
}
result_type : 5 ⇒ 심사 필요(계좌의 예금주명을 수정한 경우)
(1) OCR 결과를 엔드유저가 수동으로 정보 수정하였을 경우
       {
"review_result": {
"id": 487,
"transaction_id": "1677127155865262274-0616979067888836987",
"request_time": "2023-02-23T04:39:15.865Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQEA...생략...",
"id_crop_image": null,
"original_ocr_data": "{\"idType\":\"1\",\"userName\":\"김유스비\",\"juminNo1\":\"960201\",\"juminNo2\":\"1234567\",\"_juminNo2\":\"1******\",\"issueDate\":\"20180128\",\"transaction_id\":\"118145543363f6ee1a5fc6d1677127194\"}",
"modified_ocr_data": "{\"idType\":\"1\",\"userName\":\"홍길동\",\"juminNo1\":\"970704\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"1******\",\"issueDate\":\"20141231\",\"transaction_id\":\"118145543363f6ee1a5fc6d1677127194\",\"birthDate\":\"19970704\"}",
"id_card_origin": null,
"id_card_origin_back": null,
"is_manual_input": false,
"uploaded_type": "pc",
"is_uploaded": true,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "홍길동",
"mod_account_holder": null
}
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(2) OCR 5회 실패 → Upload OCR 실패 → 수기입력
      {
"review_result": {
"id": 491,
"transaction_id": "1677217472149075420-0184033532762430287",
"request_time": "2023-02-24T05:44:32.149Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1982-11-11",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{}",
"modified_ocr_data": "{\"userName\":\"홍길동\",\"birthDate\":\"19821111\",\"driverNo\":\"11-16-111111-60\",\"juminNo1\":\"821111\",\"juminNo2\":\"\",\"_juminNo2\":\"1\",\"issueDate\":\"\",\"idType\":\"2\"}",
"id_card_origin": null,
"id_card_origin_back": null,
"is_manual_input": true,
"uploaded_type": "mobile",
"is_uploaded": true,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "홍길동",
"mod_account_holder": null
}
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(3) OCR 5회 실패 → camera 촬영 → 수기입력
      {
"review_result": {
"id": 488,
"transaction_id": "1677133018655862737-6069057054324030986",
"request_time": "2023-02-23T06:16:58.656Z",
"name": "홍길동",
"phone_number": "01011112222",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{}",
"modified_ocr_data": "{\"userName\":\"홍길동\",\"birthDate\":\"19971111\",\"juminNo1\":\"971111\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"0\",\"issueDate\":\"11111111\",\"idType\":\"1\"}",
"id_card_origin": null,
"id_card_origin_back": null,
"is_manual_input": true,
"uploaded_type": "camera",
"is_uploaded": false,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "홍길동",
"mod_account_holder": null
}
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
(4) 계좌의 예금주명 수정한 경우
     {
"review_result": {
"id": 488,
"transaction_id": "1677133018655862737-6069057054324030986",
"request_time": "2023-02-23T06:16:58.656Z",
"name": "Micheal M Jordan",
"phone_number": "01011112222",
"birthday": "1997-11-11",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": true,
"id_card_verification": true,
"face_authentication": false,
"account_verification": false,
"liveness": false,
"custom_field": false
},
"id_card": {
"modified": true,
"verified": true,
"id_card_image": "/9j/4AAQSkZJRgABAQAA...생략...",
"id_crop_image": null,
"original_ocr_data": "{}",
"modified_ocr_data": "{\"userName\":\"Micheal M Jordan\",\"birthDate\":\"19971111\",\"juminNo1\":\"971111\",\"juminNo2\":\"1111111\",\"_juminNo2\":\"0\",\"issueDate\":\"11111111\",\"idType\":\"1\"}",
"id_card_origin": null,
"is_manual_input": true,
"uploaded_type": "camera",
"is_uploaded": false,
"is_real": null,
"is_conficence": null
},
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "Micheal M Jordan",
"mod_account_holder": "Micheal Jordan"
}
"custom": null,
"histories": {
"accounts": null
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}
result_type : 5 ⇒ 심사 필요(법인계좌 1원 인증의 경우)
   {
"review_result": {
"id": 154,
"transaction_id": "1677133423641878200-3516635666780974534",
"request_time": "2023-02-23T06:23:43.642Z",
"name": "홍길동",
"phone_number": "01012341234",
"birthday": "1997-01-01",
"result_type": 5,
"result_email": 0,
"result_sms": 0,
"module": {
"id_card_ocr": false,
"id_card_verification": false,
"face_authentication": false,
"account_verification": true,
"liveness": false,
"custom_field": false
},
"id_card": null,
"face_check": null,
"account": {
"verified": true,
"finance_code": "003",
"finance_company": "IBK기업은행",
"account_number": "1111111111",
"account_holder": "(주)유스비", //엔드유저가 수기로 작성한 input 예시
"mod_account_holder": "주식회사유스비", //계좌실명조회에서 리턴 된 이름 예시
"business_number": "123-45-67890" //사업자 등록번호(개인 계좌의 경우 null로 표시)
},
"custom": null,
"histories": {
"accounts": []
}
},
"api_response": {
"result_code": "N100",
"result_message": "OK."
},
"result": "success"
}

더 궁금한 내용이 있나요?에러 코드 및 대응
코드 샘플을 참고하세요eKYC Github
기술지원이 필요하신가요?이메일 보내기