UNPKG

fake-iamport-server

Version:
170 lines (169 loc) 4.68 kB
import { tags } from "typia"; /** * 본인 인증 내역. * * `IIamportCertification` 은 아임포트의 본인인증 정보를 형상화한 자료구조 인터페이스이다. * * 단, `IIamportCertification` 레코드의 존재가 곧 본인인증의 완결을 뜻하는 것은 아니다. * {@link IIamportCertification.certified} 값이 `true` 여야만이 비로소, 본인인증 * 대상자가 자신의 핸드폰 번호로 전송된 OTP 를 아임포트의 본인인증 팝업창에 정확히 적어, * 본인인증을 완료했음을 의미한다. * * @author Samchon */ export interface IIamportCertification { /** * 아임포트가 발급해 준 식별자 번호. */ imp_uid: string; /** * 서비스로부터의 식별자 키. * * 아임포트 서버가 아닌, 이를 사용하는 서비스가 자체적으로 발급하고 관리한다. */ merchant_uid: null | string; /** * 본인인증대상자 성명. */ name: string; /** * 성별. */ gender: string; /** * 생년월일. * * 리눅스 타임이 쓰인다. */ birth: number; /** * 생년월일, YYYYMMDD 형식. */ birthday: string & tags.Pattern<"^([0-9]{4})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$">; /** * 외국인 여부. */ foreigner: boolean; /** * 본인인증 대상자 핸드폰 번호. */ phone: string; /** * 본인인증 대상자 통신사 코드. */ carrier: "SKT" | "KT" | "LGT"; /** * OTP 인증 여부. */ certified: boolean; /** * OTP 인증 일시. * * 리눅스 타임이 쓰이며, `null` 대신 0 을 씀. */ certified_at: number; /** * 뭔지 잘 모름, 용도 아시는 분? */ unique_key: string; /** * 뭔지 잘 모름, 용도 아시는 분? */ unique_in_site: string; /** * 뭔지 잘 모름, 용도 아시는 분? */ pg_tid: string; /** * PG 제공자. */ pg_provider: string; /** * 뭔지 잘 모름, 용도 아시는 분? */ origin: string; /** * (테스트 전용) OTP 코드. * * 오직 `fake-iamport-server` 에서만 쓰이는 속성으로써, 본인인증을 시뮬레이션할 때, * 어떠한 OTP 코드가 발급되었는 지를 확인하기 위하여 사용된다. 이를 이용하여 * {@link functional.certifications.otp.confirm} 함수를 호출하면, 본인인증을 완료할 * 수 있다. */ __otp?: string; } export declare namespace IIamportCertification { /** * 본인인증 정보의 접근자 구조체. */ interface IAccessor { /** * 본인인증정보의 식별자 키. */ imp_uid: string; } /** * 본인 인증 입력 정보. */ interface ICreate { /** * 본인인증대상자 성명. */ name: string; /** * 본인인증 대상자 핸드폰 번호. * * 핸드폰 번호에 "-" 값이 들어가던 아니던 상관 없음. * * 다만, 내부적으로는 "-" 값을 제거하여 처리한다. */ phone: string; /** * 생년월일. * * YYYYMMDD 형식. */ birth: string & tags.Pattern<"^([0-9]{4})(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$">; /** * 주민등록 뒷부분 첫 자리. */ gender_digit: string; /** * 본인인증 대상자 통신사 코드. */ carrier: "SKT" | "KT" | "LGT"; /** * 알뜰폰 여부. */ is_mvno?: boolean; /** * 가맹점 서비스 명칭 또는 domain URL. * * KISA 에서 대상자에게 발송하는 SMS에 안내될 서비스 명칭. */ commpany?: string; /** * 귀사 서비스에서의 본인인증 식별자 키. * * 아임포트 서버가 아닌, 이를 사용하는 서비스가 자체적으로 발급하고 관리한다. */ merchant_uid?: string; /** * PG 사 구분자. * * 다날 상점아이디를 2개 이상 동시에 사용하시려는 경우에 설정하면 된다. * * **danal.{상점아이디}** 형태로 지정. */ pg?: string; } /** * 본인인증 승인을 위한 입력 정보. */ interface IConfirm { /** * SMS 로 전송된 본인인증 번호. */ otp: string; } }