• 가이드
  • API Reference
  • SDK
  • 오류코드
토스 인증 - 본인확인
  • 카카오 인증 - 본인인증
  • 카카오 인증 - 전자서명
  • 카카오 인증 - 출금동의
  • 카카오 인증 - 간편로그인
  • 네이버 인증 - 본인인증
  • 네이버 인증 - 전자서명
  • 네이버 인증 - 출금동의
  • 토스 인증 - 본인확인
  • 토스 인증 - 본인인증
  • 토스 인증 - 전자서명
  • 토스 인증 - 출금동의
Java
  • Java
  • PHP
  • .NET
  • .NET Core
  • Node.js
  • Python
  • Ruby
  • ASP

본인확인 API

토스 앱을 사용하여 개인을 식별할 수 있는 고유 식별번호인 CI와 중복을 식별할 수 있는 DI를 확인하는 토스 본인확인 API 입니다. 개발하는 웹/앱 방식에 따라 토스 앱으로 푸시(Push) 인증 메시지를 전송하여 인증하는 “푸시(Push) 인증”과 이용기관 앱에서 토스 앱을 실행하여 토스 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 “앱투앱 인증” 방식 중 선택하여 연동할 수 있습니다.

1. RequestUserIdentity - 본인확인 요청

  • 토스 이용자에게 본인확인를 요청합니다.

public UserIdentityReceipt requestUserIdentity(String clientCode, UserIdentity cms) throws BarocertException

Parameter

순번 변수명 타입 길이 필수 설명
clientCode String 12 Y 이용기관 코드
UserIdentity UserIdentity - Y 본인확인 요청 정보

Return UserIdentityReceipt Throws BarocertException

2. GetUserIdentityStatus - 본인확인 상태확인

  • 본인확인 요청 후 반환받은 접수아이디로 인증 진행 상태를 확인합니다.

public UserIdentityStatus getUserIdentityStatus(String clientCode, String receiptID) throws BarocertException

Parameter

순번 변수명 타입 길이 필수 설명
clientCode String 12 Y 이용기관 코드
receiptID String 32 Y 접수 아이디

Return UserIdentityStatus Throws BarocertException

3. VerifyUserIdentity - 본인확인 검증

  • 완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.

  • 토스 보안정책에 따라 검증 API는 2회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.

  • 전자서명 만료일시 이후에 검증 API를 호출하면 오류가 반환됩니다.

이용기관 서버에서는 본인확인 검증을 통해 반환받은 이용자의 개인정보(CI, 성명, 생년월일 등)와 전자서명을 요청한 이용자의 개인정보를 비교해 올바른 이용자인지 검증해야 합니다.
public UserIdentityResult verifyUserIdentity(String clientCode, String receiptID, UserIdentityVerify cmsVerify) throws BarocertException

Parameter

순번 변수명 타입 길이 필수 설명
clientCode String 12 Y 이용기관 코드
receiptID String 32 Y 접수 아이디

Return UserIdentityResult Throws BarocertException

4. 객체정보

4.1. BarocertException

순번 변수명 타입 길이 필수 설명
Code Long - Y API 처리에 대한 응답코드
message String - Y API 처리에 대한 응답메시지

4.2. UserIdentity

순번 변수명 타입 길이 필수 설명
receiverHP String 11 Y 수신자 휴대폰번호
→ 하이픈(-) 제외하고 입력
receiverName String 80 Y 수신자 성명
receiverBirthday String 8 Y 수신자 생년월일
→ 형식: yyyyMMdd
token String 50 Y 원문
→ 임의의 난수
expireIn Integer 4 Y 요청 만료시간
→ 최대: 1,800초(s) / 권장: 300초(s)
appUseYN Boolean - N 앱투앱 인증 방식 이용 여부
  • True앱투앱 인증
  • False푸시(Push) 인증 : 기본값
deviceOSType String 7 조건부 모바일장비 운영체제
  • ANDROID
  • IOS

appUseYN=True 경우 필수

returnURL String 1000 조건부 복귀 URL
→ 앱투앱 인증 이용시 호출할 URL 또는 앱스킴

appUseYN=True 경우 필수

4.3. UserIdentityReceipt

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
scheme String - N 앱스킴

appUseYN=True 경우 반환

4.4. UserIdentityStatus

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
clientCode String 12 Y 이용기관 코드
state Integer 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
expireDT String 14 Y 전자서명 만료일시
→ 형식: yyyyMMddHHmmss

4.5. UserIdentityResult

순번 변수명 타입 길이 필수 설명
receiptID String 32 Y 접수아이디
state Integer 1 Y 상태
  • 0대기
  • 1완료
  • 2만료
receiverName String 80 Y AES 암호화 수신자 성명
receiverYear String 4 Y AES 암호화 수신자 출생년도
→ 형식 : yyyy
receiverDay String 4 Y AES 암호화 수신자 출생월일
→ 형식 : MMdd
receiverGender String - N AES 암호화 수신자 성별
  • MALE남성
  • FEMALE여성
receiverForeign String - N AES 암호화 외국인 여부
  • FOREIGNER외국인
  • LOCAL내국인
receiverAgeGroup String - N AES 암호화 성인 여부
  • ADULT성인
  • MINOR미성년자
signedData String - Y 전자서명값
ci String - N AES 암호화 CI
di String - N AES 암호화 DI