K
KISPG테스트

대사

KISPG 대사 파일(승인대사/정산대사)을 읽어 내역과 합계를 확인합니다.

대사 파일은 SFTP로 받습니다
접속: sftp 61.40.18.69:51022 · 인코딩 EUC-KR · 라인구분 LF
승인대사 /APRV_{사업자번호}_{yyyymmdd}.dat — 매일 07시 전일자 생성
정산대사 /STMT_{사업자번호}_{yyyymmdd}.dat — 가맹점 정산주기에 따라 07시 생성
계정(ID/PW)은 KISPG가 별도로 제공하며, 대사는 개발계 환경이 없습니다. 계정을 받기 전까지는 아래에서 파일을 직접 올려 파싱 결과를 확인할 수 있습니다.
왜 대사 파일이 필요한가
PG수수료·부가세·환불수수료·입금액·입금일은 HTTP API로는 얻을 수 없고 정산대사 파일에만 들어 있습니다. 토스페이먼츠의 정산 화면에 해당하는 데이터가 전부 여기서 나옵니다.

대사 파일 올리기

APRV_*.dat (승인대사) 또는 STMT_*.dat (정산대사)

파일명에 APRV/STMT가 있으면 자동으로 판별합니다. 파일은 서버에 저장되지 않고 파싱 결과만 화면에 표시합니다.

파서 검증 방식

문서 offset 표에 모순이 있어 방어적으로 처리합니다

문서(대사 전문 V1.0.4)의 위치 표에는 자체 모순이 있습니다. 승인대사 Header만 1부터 시작하는 것처럼 적혀 있고, T/E 레코드의 CR 위치가 81로 적혀 있으나 필드 길이를 더하면 91입니다. 정산대사 Header CR도 21로 적혀 있지만 계산상 11입니다.

그래서 이 파서는 문서 숫자를 그대로 신뢰하지 않고, T 레코드의 합계와 직전 D 레코드들의 집계를 대조하고, E 레코드와 MID별 T 합계를 대조합니다. 하나라도 어긋나면 "검증 실패"로 표시하고 적재를 막습니다. 금액을 조용히 틀리게 읽는 것이 가장 위험한 실패이기 때문입니다.

실제 샘플 파일을 받으면 src/lib/kispg/recon.ts의 offset 상수만 고치면 됩니다.