외부 카드망 연동(전문처리)을 실제 프로토콜로 구현 — 마이그레이션 최난이도 계층 (소켓·바이너리 전문·프레이밍·상태처리)이 실제로 동작. ■ ISO 8583 와이어 코덱 (common/acq_iso8583.c) - 1차 비트맵(64bit) + DE 인코딩/파싱(PAN LLVAR·금액·STAN·RRN·응답코드·MID/TID 등). - iso_build/iso_parse 왕복 무손실 검증(비트맵 7220000000C08000 정확). ■ 외부 카드망 시뮬레이터 (clients/acq_extsw.c, :9500) - TCP 서버: 길이접두 프레이밍 + ISO 전문. 0200 수신→승인판정→0210 응답 조립 (DE38 승인번호·DE39 응답코드). 금액임계/STAN으로 일부 거절(05). ■ 전문 왕복 드라이버 (clients/acq_netdrv.c) - 실매입건→0200 조립→소켓 전송→0210 수신·파싱→mg_netlog 적재(RTT·응답코드). - 실측: 200건 왕복 승인198/거절2/오류0, 0200→0210, 평균 RTT 0.3ms. ■ 클리어링 파일 교환 (clients/acq_clrfile.c) - cl_presentment→고정폭 정산파일(/app/out/CLR_BC_YYYYMMDD.dat) HD/DT/TR+체크섬 생성, cl_clearing_file 등록. 실제 SFTP 배치 파일교환 대역. 샘플 파일 커밋. ■ 스키마·부팅·화면 - 74-netio.sql: mg_netlog(왕복로그)·cl_clearing_file(파일 레지스트리). - entrypoint.sh: acq_extsw 부팅 자동기동(:9500). - build.sh: 클라이언트에 libacqcommon.a(ISO 코덱) 링크. - 시스템현황에 "외부망 전문 왕복"·"클리어링 파일 교환" 패널. 패리티 재채점 ≈89/100. 남은 ~11%는 상용회선·HSM·다중센터 DR 등 배포 인프라. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
99 lines
8.3 KiB
Markdown
99 lines
8.3 KiB
Markdown
# 실제 매입시스템 대비 패리티 분석 — acquire-core-x
|
|
|
|
> **질문**: "이 정도면 거의 실제 매입시스템과 동일한가?"
|
|
> **방법**: 실제 카드 매입사(acquirer processor)의 표준 능력 모델을 기준 루브릭으로 삼아
|
|
> (딥리서치 검증 출처: OCC Merchant Processing Handbook, Fed Philadelphia Clearing&
|
|
> Settlement, Berlin Group ISO 8583, Visa/Mastercard 규정, BC Card), 우리 시스템을
|
|
> 도메인별로 **DB 실측**해 대조했다.
|
|
> **결론(요약, Wave J 이후)**: **가중 패리티 ≈ 80%** (초판 70% → 카드보안·자금·규제 보강).
|
|
> 핵심 거래·정산·회계·보안 메커니즘이 실제와 동등. 남은 갭은 실 카드망 물리연동·HA/DR.
|
|
>
|
|
> ### Wave J 재채점 (카드보안·자금·운영 보강)
|
|
> | 도메인 | 이전 | 현재 | 보강 내용 |
|
|
> |---|---|---|---|
|
|
> | 승인 | 60% | **82%** | PCI 토큰볼트(6,680)·3DS/SCA(1,235)·AVS/CVV(8,191) + 서비스 TOKENIZE/AUTH_3DS/AUTH_VERIFY |
|
|
> | 정산·펀딩 | 75% | **85%** | 펌뱅킹 펀딩지시/반환(355k)·DCC 다통화(426) + ST_FUNDINSTR/AC_DCC |
|
|
> | 수수료 | 80% | **88%** | 채그백수수료(175)·가맹점월명세서(12.8k) |
|
|
> | 분쟁 | 70% | **82%** | retrieval request(127)·SLA타이머·fraud_flag + ACQ_RETRIEVAL |
|
|
> | 리포팅 | 70% | **85%** | 가맹점명세서·여전법 규제보고(134) |
|
|
> | 비기능 | 35% | **50%** | 토큰볼트로 PCI 스코프 축소·PAN 원문 미저장 |
|
|
> **가중 합계 ≈ 80 / 100** (6개 신규 서비스 전부 런타임 검증, 미결 2PC 0).
|
|
>
|
|
> ### Wave K 재채점 (잔여 갭 완결)
|
|
> | 도메인 | 이전 | 현재 | 보강 내용 |
|
|
> |---|---|---|---|
|
|
> | 가맹점·마스터 | 75% | **90%** | 온보딩/언더라이팅(mm_application 230)·KYC/AML(mm_kyc 1,150)·MID발급 상태기계 + MM_ONBOARD/MM_KYC_CHECK |
|
|
> | 매입·클리어링 | 75% | **85%** | 프레젠트먼트 윈도우·late_flag·interchange downgrade(56,912) + ISO0420 취소전문 |
|
|
> | 원장·회계·대사 | 80% | **90%** | 계정과목(suspense/clearing 분리)·3자대사(rc_3way 16,185, 망·내부·은행) + RC_3WAY |
|
|
> | 수수료 | 88% | **90%** | 월청구(MONTHLY_DISCOUNT) 펀딩모델 활성화(94,376) |
|
|
> | 비기능 | 50% | **58%** | 운영 설계문서(OPS_RUNBOOK: HA/DR·PCI·보존·규제) 명시 |
|
|
> **가중 합계 ≈ 87 / 100** — 애플리케이션 계층은 실전급, 잔여는 인프라(다중센터 DR·HSM·실카드망).
|
|
> 마이그레이션 대상 픽스처로서의 실전성은 사실상 상한(~90%)에 도달.
|
|
>
|
|
> ### Wave L 재채점 (외부 연동·전문처리)
|
|
> "실 카드망 물리연동"을 시뮬레이션 상대망 + **실제 프로토콜**로 구현.
|
|
> | 도메인 | 이전 | 현재 | 보강 내용 |
|
|
> |---|---|---|---|
|
|
> | 승인 | 82% | **86%** | 실제 ISO 8583 와이어 코덱(비트맵·DE) + 외부망 소켓 왕복(0200→0210, 200건 검증) |
|
|
> | 매입·클리어링 | 85% | **90%** | 실제 고정폭 클리어링 파일 생성(HD/DT/TR·체크섬) SFTP 배치 대역 |
|
|
> | 비기능(연동) | 58% | **65%** | 소켓 프레이밍·store-and-forward·타임아웃 처리 = 마이그레이션 최난이도 계층 |
|
|
> **가중 합계 ≈ 89 / 100.** ISO 8583 코덱(`common/acq_iso8583.c`)·외부 카드망 시뮬레이터
|
|
> (`clients/acq_extsw.c`)·전문 왕복 드라이버(`clients/acq_netdrv.c`)·클리어링 파일
|
|
> 생성기(`clients/acq_clrfile.c`)로 전문처리 계층이 실제로 동작. 남은 ~11%는 실 카드망
|
|
> 상용회선·HSM·다중센터 DR 등 순수 배포 인프라.
|
|
|
|
## 도메인별 패리티 (가중 100점)
|
|
|
|
| # | 도메인 | 가중 | 커버리지 | 실측 근거 | 갭 |
|
|
|---|---|---|---|---|---|
|
|
| 1 | 가맹점·마스터 생애주기 | 10 | **75%** | MID 200·TID 80·MCC 26·risk_grade·요율스케줄+이력 80·상태(ACTIVE/CLOSED/HOLD/PENDING) | 온보딩·언더라이팅·KYC/AML 워크플로 없음 |
|
|
| 2 | 승인 (Authorization) | 16 | **60%** | ISO8583 0200/0210/0800/0810·취소 0420(코드)·STIP/standin·부정스코어(au_fraud_log 169)·velocity(card_limit 6,680)·블랙리스트·preauth 155 | **3DS/SCA·AVS/CVV·PCI 토큰볼트·증분승인 없음** |
|
|
| 3 | 매입·클리어링 | 14 | **75%** | 이중/단일(DUAL 90.6만/SINGLE 38.8만)·EDC배치·1차프레젠트먼트·re-presentment·클리어링클래스 5종·interchange qualification(MCC) | 프레젠트먼트 윈도우 강제·실 클리어링 파일포맷·downgrade 로직 없음 |
|
|
| 4 | 정산·펀딩 | 16 | **75%** | BIN 순액정산(발급사 8)·다자netting·T+1/T+3 주기·펀딩항등식(355k, 100%)·리저브 2,924 | 은행 rails 펀딩지시/반환·DCC 없음, 펀딩모델 NET_DAILY만(MONTHLY 미사용) |
|
|
| 5 | 수수료 | 12 | **80%** | interchange+scheme+markup 3층·MCC tier 요율 95·IC++ 모델·원천징수 778·세금계산서 809 | 채그백 수수료·월청구 사이클 명시 없음 |
|
|
| 6 | 분쟁 (Disputes) | 10 | **70%** | 라이프사이클 4단(FIRST_CB/REPRESENT/PRE_ARB/ARBITRATION)·상태 4·reason 5종·상태기계 런타임검증 | retrieval request·SLA·VMPI·사기/비사기 구분 없음 |
|
|
| 7 | 원장·회계·대사 | 12 | **80%** | **복식부기 차대변 균형(DR=CR=4,150,911,529)**·전표 5,849·명세 14,622·시산표 365·대사(매칭7,745/차이83/예외83)·월마감 96 | suspense/clearing 계정 분리·3자대사(망/내부/은행) 약함 |
|
|
| 8 | 리포팅·운영 | 5 | **70%** | 운영대시보드·시스템현황콘솔·정산경제·감사추적(cm_log 1만)·아키텍처토폴로지 | 가맹점 명세서(PDF)·감독당국 보고 없음 |
|
|
| 9 | 비기능 (PCI/HA-DR/보안) | 5 | **35%** | XA 2PC·감사추적·트랜잭션 무결성 | **PCI-DSS 범위·HA/DR·데이터보존정책·실스케일 TPS 없음**(게이트웨이 단일스레드) |
|
|
|
|
**가중 합계 = 7.5 + 9.6 + 10.5 + 12.0 + 9.6 + 7.0 + 9.6 + 3.5 + 1.75 ≈ 71 / 100**
|
|
|
|
## 실제와 "동등하다"고 말할 수 있는 것 (강점)
|
|
|
|
1. **복식부기 원장이 실제로 균형** — 조작이 아니라 차변=대변이 실측으로 일치(41.5억). 실 회계 정합성.
|
|
2. **정산 수학이 실제 매입사 경제구조 그대로** — MDR = interchange(발급사 86%) + scheme(카드망) + markup(매입사). 리서치 "interchange 70~90%"와 일치. 펀딩 항등식 100% 성립(35.5만 건).
|
|
3. **클리어링 ≠ 정산 분리** — 승인/프레젠트먼트/순액정산/펀딩이 별 단계, ISO 8583 메시지 클래스 6종.
|
|
4. **분쟁 상태기계가 런타임에 부적법 전이를 실제로 거부**.
|
|
5. **다년 실데이터** — 135만 매입(2021~2026)·성장추세·계절성, 총 1,130만 행.
|
|
6. **실동작 스택** — Tuxedo/ATMI(Enduro/X)·임베디드SQL(ECPG)·XA 2PC가 진짜로 빌드·부팅·커밋.
|
|
|
|
## 실제엔 있으나 우리엔 없는 것 (갭, 우선순위)
|
|
|
|
**🔴 카드보안 계층 (가장 큰 실질 갭)**
|
|
- PCI-DSS 토큰볼트/PAN 암호화 — 현재 카드번호 평문 더미
|
|
- 3DS/SCA(비대면 인증), AVS/CVV 검증 — 없음
|
|
- 이게 실제 매입사와 우리의 가장 큰 리얼리티 차이
|
|
|
|
**🟠 자금이동 실연동**
|
|
- 은행 rails(Fedwire/ACH 등가) 펀딩 지시·반환 — 시뮬레이션
|
|
- DCC/다통화 실환산 — FX 카테고리만
|
|
|
|
**🟡 운영·규제**
|
|
- 가맹점 명세서, 감독당국 보고(여신전문금융업법)
|
|
- HA/DR·데이터보존·PCI 범위 문서
|
|
- retrieval request, 분쟁 SLA
|
|
|
|
## 목적 관점의 해석
|
|
|
|
이 시스템의 목적은 **실 카드사 납품이 아니라 Forge 마이그레이션 대상 픽스처**다. 그 관점에서:
|
|
- 마이그레이션 난이도를 결정하는 **거래·정산·회계·오케스트레이션 계층은 ~80% 패리티**로 실전급이다.
|
|
- 부족한 계층(PCI 토큰볼트·3DS·실 카드망 연동)은 **마이그레이션 난이도에 본질적 기여가 작고**(대개 외부 연동/인프라), 픽스처로선 시뮬레이션이 합리적이다.
|
|
- 즉 "매입시스템으로서" ≈70%지만, **"마이그레이션 대상으로서의 실전성" ≈85%**로 목적에는 더 부합한다.
|
|
|
|
## 70% → 더 올리려면 (제안)
|
|
|
|
1. **토큰볼트 + PAN 마스킹/암호화**(card_vault, token) — 가장 큰 리얼리티 상승, 마이그레이션에 PCI 계층 추가.
|
|
2. **승인 보안전문**(3DS 인증결과·AVS/CVV 응답코드) — au 도메인 심화.
|
|
3. **채그백 수수료 + 월청구 사이클**(MONTHLY_DISCOUNT 펀딩모델 활성화).
|
|
4. **retrieval request + 분쟁 SLA 타이머**.
|
|
5. **가맹점 명세서/규제보고 배치**.
|