export const KCP_ERROR_CODES = { "0000": "정상처리", AC09: "계좌이체|계좌번호 오류", AC10: "계좌이체|해지된 계좌", AC15: "계좌이체|기타 거래불가 계좌", AC22: "계좌이체|비밀번호 오류", AC23: "계좌이체|이체한도 초과", AC25: "계좌이체|잔액 부족", AC27: "계좌이체|기관 서비스 시간 마감", AC30: "계좌이체|기타 이체불가 오류", AC32: "계좌이체|암호모듈 오류", AC40: "계좌이체|비밀번호 입력 횟수초과", AC47: "계좌이체|기타 거래요청 실패", AC55: "계좌이체|은행코드오류", AC60: "계좌이체 - 보안카드/OTP 일련번호/난수번호 불일치", AC61: "계좌이체 - OTP기기 확인요망", AC62: "OTP/보안카드 미등록", AC63: "유효시간 경과", AC80: "안전한 거래를 위하여 추가 인증이 필요합니다.", AC81: "계좌이체|1회 한도금액초과", AC82: "계좌이체|일 한도금액초과", AC83: "계좌이체|월 한도금액초과", "3001": "사용자 결제 취소", "3101": "지불수단 설정 오류", "8037": "부분취소 남은금액 불일치", "8040": "부분취소(환불) 진행중 거래, 전체취소 불가", "8381": "부분취소 가능 금액 불일치", "8601": "포맷에러(에스크로정보 없음)", "8999": "NHN KCP로 문의 (support@kcp.co.kr)", E0010: "결제창을 닫고 다시 시도해주세요.", M021: "사용 가능 가맹점이 아닙니다.", M203: "거래정보가 변조 되었습니다. ( 금액 )", M209: "거래 등록 정보가 없습니다.", "8111": "포맷에러(지불|신용카드|비밀번호)", "8128": "신용카드 중복거래 요청 거절", "8484": "카드유효기간만료", CC01: "카드사로 문의", CC09: "월 한도초과", CC14: "카드번호 오류", CC37: "인증거래미약정가맹점", CC45: "정지카드", CC55: "유효기간 오류", "8303": "포맷에러(지불|가상계좌|주문금액)", "8305": "포맷에러(지불|가상계좌|입금예정일)", "8306": "포맷에러(지불|가상계좌|발급요청은행코드)", "8332": "이미 사용중지된 가상계좌 사용중지요청", VC02: "가상계좌 결제창 미사용 가맹점", DR01: "결제 정보가 올바르지 않습니다. NHN KCP로 문의해주세요.", DR02: "가맹점 설정정보가 올바르지 않습니다. NHN KCP로 문의해 주세요.", TC06: "법인 카드는 쿠폰이 지원되지 않는 카드입니다.", TC08: "쿠폰이 지원되지 않는 카드입니다.", "5209": "[배치빌] 존재하지않는(사용불가)GROUP_ID", "8884": "배치키 정보 미존재", S001: "필수값 포멧 오류{0}", S006: "거래금액 불일치 발생", S031: "인증서 검증 오류발생", S032: "접근권한이 없습니다.", SA04: "SPL 내부 오류 발생.(KCP 문의)", CS01: "인증정보가 변조 되었습니다.", CS04: "Ret_URL은 필수 값 입니다.", CS05: "ordr_idxx은 필수 값 입니다.", CS06: "site_cd는 필수 값 입니다.", CS07: "req_tx는 필수 값 입니다.", CS14: "사용불가 가맹점, 1666-6410 문의", CT01: "사이트 설정 오류", "9502": "연동 모듈 호출 오류", RC77: "부분취소 가능 금액 부족", "0802": "[일반] 잘못된_전문길이", "5704": "배치키 삭제 정보 불일치", "8140": "매입취소 가능금액 초과", CC98: "카드사 시스템 장애", MC02: "생년월일 및 성별 정보가 불일치 합니다.", MC03: "휴대폰|분실/사용정지된 휴대폰", MC04: "휴대폰|사용불가 휴대폰(법인)", MC05: "요금 미납으로 결제불가. 통신사로 요금 납부 후 재시도 바랍니다.", MC06: "휴대폰|사용불가 휴대폰(선납)", MC07: "휴대폰|사용불가 휴대폰(미성년자)", MC08: "휴대폰|사용불가 휴대폰(해지)", MC09: "휴대폰|사용불가 요금제", MC10: "휴대폰결제 사용불가(1688-6410)", MC11: "휴대폰|당월 한도초과", MC12: "휴대폰|1회 결제금액 한도초과", MC15: "휴대폰결제서비스를 이용하실 수 있도록 시스템 처리 중입니다 (시스템 처리기간 : 개통후 최대3영업일)", MC17: "기타사유로 실패, 결제를 다시 시도해주세요.", MC18: "고객정보가 일치하지 않습니다.", MC21: "이전 결제 처리 중입니다. 잠시 후 재시도 바랍니다.", MC24: "휴대폰 인증번호 유효시간 경과, 인증번호 재요청 후 진행해주세요", MC26: "휴대폰 인증번호 불일치", MC27: "휴대폰|요청자료 오류", MC29: "안심결제 비밀번호 인증에 실패하였습니다 확인 후 재시도해주세요.", MC33: "휴대폰|취소기간 경과", MC35: "인증내역이 존재하지 않습니다.", MC37: "요금 미납으로 결제불가 (문의 1800-0678)", MC38: "해당 사이트에서 사용가능한 월 한도 초과", MC45: "휴대폰|해당사이트 한도초과(사이트 담당자 문의)", MC46: "휴대폰|결제시도 횟수초과", MC47: "입력하신 고객 정보를 다시 확인해주세요.", MC85: "결제기관으로 문의 (KCP고객센터 : 1688-6410)", MC86: "결제기관 정책에 의한 이용제한 (고객센터 문의 1800-0678)", MC94: "휴대폰|결제기관 시스템 오류", MC96: "휴대폰|결제기관 통신오류", "8183": "해당 쇼핑몰 사용불가카드", "8267": "기취소된 포인트결제 거래 취소요청", "8901": "취소시 복합과세 설정 오류", "8001": "사이트DB설정오류", S102: "연동 모듈 실행 오류", "8061": "원거래없음", M014: "지원되지 않는 van_code", } as const; export const KCP_CARD_CODES = { usedCard: [ { code: "CCLG", name: "신한" }, { code: "CCDI", name: "현대" }, { code: "CCLO", name: "롯데" }, { code: "CCKE", name: "외환" }, { code: "CCSS", name: "삼성" }, { code: "CCKM", name: "국민" }, { code: "CCBC", name: "비씨" }, { code: "CCNH", name: "농협" }, { code: "CCHN", name: "하나" }, { code: "CCCT", name: "씨티" }, { code: "CCWR", name: "우리" }, { code: "BC81", name: "하나비씨" }, { code: "CCKK", name: "케이뱅크" }, { code: "CCKJ", name: "광주" }, { code: "CCSU", name: "수협" }, { code: "CCCJ", name: "제주" }, { code: "CCKD", name: "한국산업은행" }, { code: "CCSB", name: "저축" }, { code: "CCCU", name: "신협" }, { code: "CCPB", name: "우체국" }, { code: "CCSM", name: "MG새마을금고" }, { code: "CCKA", name: "카카오뱅크" }, { code: "CCUF", name: "은련" }, { code: "CMCF", name: "마스터" }, { code: "CJCF", name: "JCB" }, { code: "CVSF", name: "비자" }, ], cardCompany: [ { code: "CCKM", name: "KB국민카드" }, { code: "CCBC", name: "BC카드" }, { code: "CCLG", name: "신한카드" }, { code: "CCSS", name: "삼성카드" }, { code: "CCDI", name: "현대카드" }, { code: "CCLO", name: "롯데카드" }, { code: "CCAM", name: "롯데아멕스카드" }, { code: "CCNH", name: "NH농협카드" }, { code: "CCHN", name: "하나카드" }, { code: "CCKE", name: "하나카드(외환)" }, { code: "CCWR", name: "우리카드" }, { code: "CCKJ", name: "광주카드" }, { code: "CCSU", name: "수협카드" }, { code: "CCCJ", name: "제주카드" }, { code: "CCSG", name: "씨티카드(구, 신세계한미)" }, { code: "CCCT", name: "씨티카드" }, { code: "CCHM", name: "씨티카드(구, 한미카드)" }, { code: "CCUF", name: "은련카드" }, { code: "CVSF", name: "해외비자" }, { code: "CMCF", name: "해외마스터" }, { code: "CJCF", name: "해외JCB" }, { code: "CCPT", name: "페이코포인트" }, { code: "CCTO", name: "토스뱅크" }, { code: "CCKA", name: "카카오뱅크" }, ], } as const; export const KCP_BANK_CODES = { transferBank: [ { code: "BK02", name: "한국산업은행" }, { code: "BK03", name: "기업은행" }, { code: "BK04", name: "국민은행" }, { code: "BK07", name: "수협" }, { code: "BK11", name: "농협" }, { code: "BK12", name: "지역농축협" }, { code: "BK20", name: "우리은행" }, { code: "BK23", name: "SC 제일은행" }, { code: "BK27", name: "한국시티은행" }, { code: "BK30", name: "수협중앙회" }, { code: "BK31", name: "iM 뱅크" }, { code: "BK32", name: "부산은행" }, { code: "BK34", name: "광주은행" }, { code: "BK35", name: "제주은행" }, { code: "BK37", name: "전북은행" }, { code: "BK39", name: "경남은행" }, { code: "BK45", name: "새마을금고" }, { code: "BK48", name: "신협" }, { code: "BK64", name: "산림조합" }, { code: "BK71", name: "우체국" }, { code: "BK81", name: "KEB 하나은행" }, { code: "BK88", name: "신한은행" }, { code: "BK89", name: "케이뱅크" }, { code: "BK90", name: "카카오뱅크" }, { code: "BK92", name: "토스뱅크" }, ], securities: [ { code: "B209", name: "유안타증권" }, { code: "B243", name: "한국투자증권" }, { code: "B263", name: "현대차증권" }, { code: "B270", name: "하나증권" }, { code: "B280", name: "유진투자증권" }, { code: "B240", name: "삼성증권" }, { code: "B218", name: "KB증권(현대)" }, { code: "B247", name: "NH투자증권" }, { code: "B266", name: "SK증권" }, { code: "B278", name: "신한금융투자" }, { code: "B269", name: "한화투자증권" }, { code: "B238", name: "미래에셋대우" }, { code: "B262", name: "아이엠증권" }, { code: "B267", name: "대신증권" }, { code: "B279", name: "DB증권" }, { code: "B291", name: "신영증권" }, ], virtualAccountPc: [ { code: "03", name: "기업은행" }, { code: "07", name: "수협" }, { code: "23", name: "SC제일은행" }, { code: "34", name: "광주은행" }, { code: "39", name: "경남은행" }, { code: "04", name: "국민은행" }, { code: "11", name: "농협" }, { code: "26", name: "신한은행" }, { code: "71", name: "우체국" }, { code: "20", name: "우리은행" }, { code: "32", name: "부산은행" }, { code: "81", name: "KEB하나은행" }, { code: "31", name: "IM뱅크" }, ], virtualAccountMobile: [ { code: "BK03", name: "기업은행" }, { code: "BK07", name: "수협" }, { code: "BK23", name: "SC제일은행" }, { code: "BK34", name: "광주은행" }, { code: "BK39", name: "경남은행" }, { code: "BK04", name: "국민은행" }, { code: "BK11", name: "농협" }, { code: "BK26", name: "신한은행" }, { code: "BK71", name: "우체국" }, { code: "BK20", name: "우리은행" }, { code: "BK32", name: "부산은행" }, { code: "BK81", name: "KEB하나은행" }, { code: "BK31", name: "IM뱅크" }, ], } as const; export const KCP_ETC_CODES = { carriers: [ { code: "SKT", name: "SK텔레콤" }, { code: "KTF", name: "KT" }, { code: "LGT", name: "LGU+" }, { code: "KCT", name: "한국케이블텔레콤" }, { code: "CJH", name: "CJ 헬로모바일" }, { code: "SKL", name: "SK7M" }, { code: "KTM", name: "KT알뜰폰" }, { code: "LGM", name: "LGU+알뜰폰" }, ], easyPay: [ { code: "OT12", name: "PAYCO" }, { code: "OT13", name: "카카오페이" }, { code: "OT16", name: "네이버페이" }, { code: "OT01", name: "삼성페이" }, { code: "OT03", name: "SSGPAY" }, ], giftCertificates: [ { code: "SCBL", name: "도서상품권" }, { code: "SCGM", name: "스마트문상" }, { code: "SCED", name: "온캐쉬" }, { code: "SCHM", name: "해피머니" }, { code: "SCTC", name: "틴캐시" }, { code: "SCCL", name: "문화상품권" }, { code: "SCEM", name: "에그머니" }, ], } as const; export const KCP_TRANSACTION_STATUS_CODES = [ { code: "STSR", name: "승인" }, { code: "STSC", name: "승인취소" }, { code: "STMR", name: "매입요청" }, { code: "STJY", name: "대금지급완료" }, { code: "STMD", name: "매입취소요청" }, { code: "STMO", name: "취소정산완료" }, { code: "STMT", name: "매입청구" }, { code: "STJC", name: "매입취소청구" }, { code: "STDS", name: "대금지급승인" }, { code: "STJO", name: "매입취소완료" }, { code: "STDN", name: "대금지급보류" }, { code: "STJS", name: "매입취소실패" }, { code: "STIR", name: "입금대기" }, { code: "STIS", name: "이체성공" }, { code: "STIB", name: "대금입금" }, { code: "STDC", name: "취소반송" }, { code: "STHB", name: "대금환불" }, { code: "STMC", name: "매입반송" }, { code: "STIF", name: "이체실패" }, { code: "STSF", name: "승인대기" }, { code: "STIY", name: "입금완료" }, { code: "STCH", name: "상태변경주체" }, { code: "STUS", name: "사용" }, { code: "STUC", name: "사용승인취소" }, { code: "STAD", name: "적립" }, { code: "STAC", name: "적립승인취소" }, { code: "STIO", name: "입금초과" }, { code: "STIC", name: "입금취소" }, { code: "STR0", name: "재매입종류" }, { code: "STMT", name: "재매입요청" }, { code: "STJC", name: "재매입취소" }, { code: "STAU", name: "인증" }, { code: "STCA", name: "취소접수" }, { code: "STEY", name: "에스크로 입급완료" }, { code: "STEH", name: "에스크로 환불완료" }, { code: "STHD", name: "에스크로 환불대기" }, { code: "STOC", name: "에스크로 주문취소" }, { code: "STIW", name: "이체취소" }, { code: "STIX", name: "가상계좌사용중지" }, { code: "STAE", name: "적립매입취소" }, { code: "STUE", name: "사용매입취소" }, { code: "STIV", name: "이체취소(정산 전)" }, { code: "STCR", name: "매입취소청구보류" }, { code: "STCY", name: "매입취소청구완료" }, { code: "STDR", name: "매입청구보류" }, { code: "STDY", name: "매입청구완료" }, { code: "STPY", name: "부분취소청구완료" }, { code: "STAR", name: "승인요청" }, { code: "STAF", name: "승인실패" }, { code: "STVF", name: "검증실패" }, { code: "STDE", name: "차감오류" }, { code: "STCD", name: "취소대기" }, { code: "STRD", name: "입금거절" }, { code: "STPC", name: "부분취소" }, { code: "STIU", name: "입금부족" }, ] as const; export const KCP_APP_CODES = { schemes: [ { name: "PAYCO간편결제", values: ["payco", "paycoapplogin"] }, { name: "SSGPAY간편결제", values: ["shinsegaeeasypayment"] }, { name: "카카오페이간편결제", values: ["kakaotalk"] }, { name: "카카오뱅크 앱카드", values: ["kakaobank"] }, { name: "네이버페이간편결제", values: ["naversearchapp"] }, { name: "네이버페이간편결제", values: ["naversearchthirdlogin"] }, { name: "삼성페이", values: ["samsungpay"] }, { name: "엘지페이", values: ["callonlinepay"] }, { name: "토스뱅크", values: ["supertoss"] }, { name: "신한SOL페이", values: ["shinhan-sr-ansimclick"] }, { name: "신한SOL페이(공동인증서)", values: ["smshinhanansimclick"] }, { name: "현대앱카드", values: ["hdcardappcardansimclick"] }, { name: "현대공인인증", values: ["smhyundaiansimclick"] }, { name: "삼성카드 monimo", values: ["monimopay", "monimopayauth"] }, { name: "삼성앱카드", values: ["mpocket.online.ansimclick"] }, { name: "삼성공인인증", values: ["scardcertiapp"] }, { name: "하나멤버스월렛", values: ["hanawalletmembers"] }, { name: "원큐페이(하나앱카드)", values: ["oneqpay", "cloudpay"] }, { name: "모아사인(공동인증)", values: ["hanamopmoasign"] }, { name: "AhnLab V3 Mobile Plus", values: ["v3mobileplusweb"] }, { name: "농협앱카드", values: ["nhappcardansimclick"] }, { name: "농협올원페이", values: ["nhallonepayansimclick"] }, { name: "농협공인인증", values: ["nonghyupcardansimclick"] }, { name: "롯데앱카드", values: ["lotteappcard"] }, { name: "롯데스마트", values: ["lottesmartpay"] }, { name: "롯데L.POINT", values: ["lmslpay"] }, { name: "국민앱카드", values: ["kb-acp"] }, { name: "KB스타뱅킹", values: ["kbbank"] }, { name: "ISP앱", values: ["ispmobile"] }, { name: "Liiv Reboot", values: ["newliiv"] }, { name: "씨티앱카드", values: ["citicardappkr"] }, { name: "씨티공인인증", values: ["citispay"] }, { name: "씨티(신규 앱)공인인증서 / 스마트 간편결제", values: ["citimobileapp"], }, { name: "우리페이앱", values: ["wooripay"] }, { name: "우리카드앱", values: ["com.wooricard.wcard"] }, { name: "우리WON뱅킹 앱", values: ["NewSmartPib"] }, { name: "쿠팡", values: ["coupang", "coupangpay"] }, ], packages: [ { name: "PAYCO", values: ["com.nhnent.payapp"] }, { name: "SSGPAY", values: ["com.ssg.serviceapp.android.egiftcertificate"], }, { name: "카카오페이", values: ["com.kakao.talk"] }, { name: "카카오뱅크 앱카드", values: ["com.kakaobank.channel"] }, { name: "네이버페이", values: ["com.nhn.android.search"] }, { name: "삼성페이", values: ["com.samsung.android.spay"] }, { name: "삼성페이(미니)", values: ["com.samsung.android.spaylite"] }, { name: "엘지페이", values: ["com.lge.lgpay"] }, { name: "신한 Super SOL", values: ["com.shinhan.smartcaremgr"] }, { name: "신한 SOL뱅크", values: ["com.shinhan.sbanking"] }, { name: "신한SOL페이", values: ["com.shcard.smartpay"] }, { name: "신한SOL페이(공동인증서)", values: ["com.shinhancard.smartshinhan"], }, { name: "현대카드", values: ["com.hyundaicard.appcard"] }, { name: "현대카드(공동인증서)", values: ["com.lumensoft.touchenappfree"], }, { name: "삼성카드 monimo", values: ["net.ib.android.smcard"] }, { name: "삼성카드", values: ["kr.co.samsungcard.mpocket"] }, { name: "올원페이", values: ["nh.smart.nhallonepay"] }, { name: "KB Pay", values: ["com.kbcard.cxh.appcard"] }, { name: "ISP/페이북", values: ["kvp.jjy.MispAndroid320"] }, { name: "Liiv next", values: ["com.kbstar.reboot"] }, { name: "롯데카드", values: ["com.lcacApp"] }, { name: "롯데 L.POINT", values: ["com.lottemembers.android"] }, { name: "하나카드", values: ["com.hanaskcard.paycla"] }, { name: "하나맴버스", values: ["kr.co.hanamembers.hmscustomer"] }, { name: "씨티모바일", values: ["kr.co.citibank.citimobile"] }, { name: "우리페이", values: ["com.wooricard.wpay"] }, { name: "우리카드", values: ["com.wooricard.smartapp"] }, { name: "우리WON뱅킹", values: ["com.wooribank.smart.npib"] }, { name: "터치엔 엠백신", values: ["com.TouchEn.mVaccine.webs"] }, { name: "뱅크페이", values: ["com.kftc.bankpay.android"] }, { name: "VG웹백신", values: ["kr.co.shiftworks.vguardweb"] }, { name: "V3 모바일 플러스", values: ["com.ahnlab.v3mobileplus"] }, { name: "KB스타뱅킹", values: ["com.kbstar.kbbank"] }, { name: "모아사인(공동인증)", values: ["com.hanaskcard.rocomo.potal"] }, { name: "토스뱅크", values: ["viva.republica.toss"] }, { name: "트레블월렛", values: ["com.mobiletoong.travelwallet"] }, { name: "쿠팡", values: ["com.coupang.mobile", "com.coupang.pay"] }, ], } as const; export const KCP_CODES = { errors: KCP_ERROR_CODES, cards: KCP_CARD_CODES, banks: KCP_BANK_CODES, etc: KCP_ETC_CODES, transactionStatuses: KCP_TRANSACTION_STATUS_CODES, apps: KCP_APP_CODES, } as const; export type KcpErrorCode = keyof typeof KCP_ERROR_CODES; /** KCP 오류코드에 대응하는 공식 메시지를 반환한다. */ export function getKcpErrorMessage(code: string, fallback = ""): string { return KCP_ERROR_CODES[code as KcpErrorCode] ?? fallback; }