#fix
-
결제 플랫폼 보안 취약점 9건 한꺼번에 잡은 후기
코드 리뷰 한 방에 9건 결제 플랫폼 코드 리뷰 받은 거 한꺼번에 정리함. CRITICAL 2건, HIGH 4건, MEDIUM 3건. 충전/이체/파트너 관리/API 키 인증 구간이 골고루 걸렸음. 생각보다 한 군데 몰려 있어서 작업 자체는 반나절 컷. | 등급 | 영역 | 핵심 | |---|---|---| | CRITICAL | 이체 | 금액 검증 누
읽기 → -
결제대행사 콜백이 봇 필터에 막혀 정산 PENDING이 쌓인 문제 해결
외부 결제대행사 콜백이 차단당했음 이커머스 운영 중에 결제대행사 콜백이 봇 차단 필터에서 4xx로 떨어지는 사고 발생. 사용자 결제는 정상 완료됐는데 콜백이 막히니까 결제 플랫폼 내부 상태가 PENDING에서 안 넘어감. 정산 화면 보다가 발견했으니 운영 모니터링이 한 박자 늦은 것도 같이 발견됨. 원인 파악 - 봇 차단 필터를 외부 노출 API 경
읽기 → -
파트너 정산 계좌 등록의 은행명 파싱 오류와 증권사 무한 로딩 수정
무슨 일이 있었음 파트너 정산용 계좌 등록 흐름에서 은행 응답 파싱이 들쭉날쭉해서 고치는 작업. 같은 은행이라도 응답 페이로드 표기가 케이스마다 달라서 매칭이 깨지는 문제였음. 거기에 한 파트너가 증권사 CMA를 등록하려다 무한 로딩에 빠졌다는 제보까지 들어옴. 핸들러가 증권사를 은행처럼 해석하다가 멍 때리는 동선. 깨졌던 표기 케이스 | 응답
읽기 → -
은행명 표기 불일치로 매일 누락되던 정산 30건 해결
은행명 매칭이 깨진 사연 결제대행사에서 내려주는 은행명 표기가 우리 내부 표준이랑 미묘하게 달라서 정산이 한 건씩 누락되던 이슈. 지역 농축협·새마을 계열에서 특히 자주 터졌음. 같은 은행인데 "새마을", "MG새마을", "새마을금고" 이렇게 세 가지 표기로 들어오는 게 발단. 문제의 코드 기존 매칭이 완전 일치 기반이라 한 글자라도 어긋나면 미매
읽기 → -
결제 큐에서 재시도 초과 건이 무한 반복되던 문제 해결
무한 재시도 지옥에서 빠져나옴 큐에서 작업 꺼내올 때 retry_count 조건이 빠져있었음. max_retry 도달한 작업도 계속 다시 집어가는 구조였음. 결제대행사 응답 지연으로 한 번 실패한 건이 영원히 큐를 떠다녔던 거. 어떻게 발견했는지 파트너 정산 모니터링 보다가 실패 누적이 비정상적으로 많은 걸 발견함. 같은 트랜잭션 ID가 로그에 수
읽기 → -
은행 입금 연동 오류 응답 파싱과 필수값 검증 개선
사건 요약 - 은행 파트너 입금 호출에서 간헐적 실패가 발생, 사용자 화면에는 "처리 실패"만 노출됨 - Step2 진입 시 일부 필수값이 누락된 채 호출되어 NPE 로 흐름이 끊김 - 운영팀이 원인 파악을 못해 같은 케이스를 반복 문의받았음 두 갈래로 손봄 입금 유틸의 응답 파싱과 Step2 입력 검증, 두 군데를 같은 변경에 묶었음. 응답 파싱은
읽기 → -
송금 폼 버그 6건을 이벤트 누락 하나로 한 번에 해결
송금 폼 6건 한 번에 잡은 날 특정 시중은행 연동 송금 폼에서 자잘한 버그 6건이 동시에 올라옴. 하나씩 보면 사소한데 모이니까 사용자가 1단계도 못 넘는 상황. 결제 플랫폼에서 "입력 안 됨"은 곧 이탈이라 우선순위 최상위로 올림. 증상 정리 올라온 리포트 그대로 옮기면: | 번호 | 증상 | 재현 조건 | |---|---|---| | 1 |
읽기 → -
가상계좌 입금자명 매칭 실패를 알림 title 폴백으로 해결
입금자명, 왜 갑자기 title에서 빼야 했나 며칠 전부터 가상계좌 입금 매칭 실패율이 슬금슬금 올라감. 이상하다 싶어서 알림 원본 페이로드 까봤더니, 원인이 어이없었음. 카카오 쪽에서 내려주는 알림 본문(body) 포맷이 일부 케이스에서 바뀌어 있었음. 기존엔 본문에 홍길동님 1,000,000원 입금 식으로 깔끔하게 들어왔는데, 어느 순간부터는 본문에
읽기 → -
메신저 송금봉투 자동수령 누락 버그 수정
메신저 송금봉투 자동수령이 안 먹던 이유 파트너 정산 자동화 작업 중에 외부 메신저 송금봉투 알림이 들어와도 자동수령이 안 되는 케이스를 발견함. 알림 메시지는 분명히 들어왔는데 수령 처리가 안 되고 그대로 만료되는 상황. 이미 수동으로 처리하던 운영팀이 한참 쌓아둔 뒤에 알려줬음. 미안해서 바로 파봤음. 원인은 메시지 파서의 정규식 기존 파서는
읽기 → -
컴포넌트 스캔 범위 확장으로 터진 빈 이름 충돌 해소
서버가 안 뜬다 월요일 아침 출근하자마자 빌드는 통과했는데 기동 단계에서 컨테이너가 죽음. 로그 맨 아래 한 줄이 모든 걸 설명해줬음. ConflictingBeanDefinitionException: Annotation-specified bean name 'xxxController' for bean class [com.example.biz.XxxCo
읽기 → -
결제 플랫폼 빈 이름 충돌로 서버 부팅 실패 해결
빈 이름 충돌로 서버가 안 떴던 날 이커머스 결제 플랫폼 백엔드를 띄우는데 갑자기 부팅 실패. 로그 끝까지 내려가지도 않고 컨텍스트 초기화 단계에서 죽음. 처음엔 단순 의존성 문제인 줄 알았는데, 메시지를 천천히 읽어보니 빈 이름이 중복됐다는 얘기였음. 원인 찾기 스택을 위로 거슬러 올라가면서 확인한 것들: - 같은 도메인의 컨트롤러 두 개가 동
읽기 → -
결제 플랫폼 서버 기동 실패, 컨트롤러 빈 이름 충돌로 해결
서버가 안 뜸 오전에 결제 플랫폼 모듈 한 군데 손보고 로컬에 띄우는데 기동 자체가 실패함. 로그 끝부분만 잘라보면 "동일한 빈 이름이 이미 정의되어 있다"는 메시지가 떡하니 박혀 있었음. 코드는 컴파일 통과했는데 컨테이너 초기화 단계에서 막힌 케이스. | 증상 | 원인 | 영향 | |---|---|---| | 컨테이너 초기화 실패 | 동일 이름 빈
읽기 → -
파트너 정산 은행 도메인 누락으로 송금 인증 실패하던 문제 수정
채팅 메시지 속 은행 링크를 못 찾았음 파트너 정산 채널에서 송금 인증 캡처 대신 메시지 앱 링크를 그대로 붙여넣는 케이스가 점점 늘었음. 메시지 본문에서 은행 도메인을 뽑아 송금 사실을 검증하는 로직이 있는데, CS팀에서 "특정 은행만 매번 인증 실패가 난다"는 리포트가 연달아 들어옴. 원인: 도메인 화이트리스트 노후화 은행 URL 추출기는 정규
읽기 → -
가상계좌 입금 알림을 다중 은행 채널로 확장해 누락 해소
은행 알림에서 가상계좌 입금 URL을 자동으로 받아오는 경로에 손댔음. 기존엔 메신저 푸시 한 채널만 후킹해서 처리했는데, 일부 은행은 자체 푸시/SMS로만 결과를 쏴주니 누수가 생김. 파트너 화면에서 "입금됐는데 왜 반영 안 됨?" 문의가 한 주에 두어 건씩 올라왔음. 무엇을 바꿨나 주요 시중은행 두 곳(A, B) 알림을 별도 경로로 캡처하도록 텄음
읽기 → -
입금 큐 성공 후 주문 매칭이 자동으로 안 되던 문제 해결
큐가 끝났는데 주문은 안 잡히던 문제 큐 처리 결과가 SUCCESS로 떨어지는데, 정작 주문 매칭은 자동으로 안 돌던 케이스를 잡음. 결제대행사에서 입금 통지가 온 뒤 큐가 멀쩡히 처리되고 SUCCESS 상태까지 도달했는데, 그 다음 단계인 "어떤 주문에 이 입금을 붙일지" 매칭이 별도 스케줄러나 수동 호출에 의존하던 구조였음. 증상 - 입금 통지
읽기 → -
결제 승인 거짓 성공으로 인한 정산 오류 수정
거짓 성공(false SUCCESS) 한 건이 부른 사고 결제대행사 두 곳의 응답 핸들러에서 **승인 실패인데 SUCCESS 로 찍히는 케이스**를 잡았음. 정산 다음 날 파트너 잔액이 비어있다는 문의로 발견. 회고 정리. 무엇이 문제였나 핸들러가 결제대행사의 raw 응답을 파싱할 때, 일부 에러 케이스에서 결과 코드가 비어 들어옴. 비어있으면 디
읽기 → -
연락처이체 자동화 오류 13건을 조건 대기와 이중 검증으로 해결
13개가 한꺼번에 터졌다 연락처이체 웹 자동화가 또 깨졌음. 은행별 페이지 구조가 미묘하게 달라서 한 곳 고치면 다른 데서 터지는 두더지잡기. 이번엔 분산해서 잡지 말고 13개 케이스 한꺼번에 모아서 정리함. 증상은 비슷했음: - "이체 성공"으로 찍혔는데 실제 거래는 미체결 - 페이지 전환 도중 다음 step 클릭해서 element not found
읽기 → -
JSP 뷰 기능 플래그 Boolean 조건 분기 오류 수정
fix: featureMap Boolean 타입 비교 오류 수정 (== 1 제거) — 버그 픽스.
읽기 → -
SLECS 로고를 WEAVERKIT으로 교체
fix: SLECS 로고 WEAVERKIT으로 변경 — 버그 픽스.
읽기 → -
Android 앱 아이콘이 PNG로 올바르게 표시되도록 수정
fix: mipmap-anydpi-v26 제거하여 PNG 아이콘 적용 — Android 앱 변경 커밋.
읽기 →