대사
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 (정산대사)
파서 검증 방식
문서 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 상수만 고치면 됩니다.