인증 결과 Data 처리, UI 처리 샘플소스코드

window.addEventListener("message", (e) => {
    console.log("alcherakyc response", e.data); // base64 encoded된 JSON 메시지이므로 decoded해야 함(needs to be decoded becaused it`s encoded by base64)
    console.log("origin :", e.origin);
    try {
        const decodedData = decodeURIComponent(atob(e.data));
        console.log("decoded", decodedData);
        const json = JSON.parse(decodedData);
        console.log("json", json);

        // 데이터처리 부분
        if (json.result === "success") {
            // TODO: KYC 인증을 성공한 경우 데이터 처리
            // console.log(json.result + "결과 서버 저장");
        } else if (json.result === "failed") {
            // TODO: KYC 인증을 실패한 경우 데이터 처리
            // console.log(json.result + "결과 서버 저장");
        } 

        // UI 처리 
        else if (json.result === "complete") {
            // TODO: KYC 인증을 성공(자동승인 or 심사필요 케이스 모두 포함) 후 UI 처리
            // iframe이 포함된 UI를 종료
            // 고객사 서비스 UI를 다시 띄우고 상황에 맞는 UI 표시
            // 예시 : 자동승인 -> KYC인증이 완료되었습니다. 계좌개설이 완료되었습니다.
            // 예시 : 심사필요 -> KYC인증이 완료되었습니다. 심사가 완료된 이후 이메일로 안내 드리겠습니다.
        } else if (json.result === "close") {
            // TODO: KYC 인증을 실패(자동거부 or 중도이탈) 후 UI 처리
            // iframe이 포함된 UI를 종료
            // 고객사 서비스 UI를 다시 띄우고 상황에 맞는 UI 표시
            // 예시 : 자동거부 -> KYC인증이 실패하였습니다. 다시 인증을 시도후 서비스 이용이 가능합니다.
        } else {
            // invalid result
        }
    } catch (error) {
        console.log("wrong data", error);
    }
});

※ Android Java, Kotlin, iOS Swift, React Native의 경우 별도 샘플코드 참고