-
입금 유틸을 은행별 전용 핸들러로 분리해 확장성 개선
왜 손댔나 공용 입금 유틸 한 파일에 모든 은행 HTTP 호출이 쌓여있었음. 새 은행 붙일 때마다 같은 파일 열어서 if 분기 추가하는 구조. 이번엔 한 은행 케이스를 전용 핸들러로 떼어냈음. 변경 요약 | 항목 | 이전 | 이후 | |------|------|------| | HTTP 송신 위치 | 공용 유틸 | 은행별 전용 핸들러 | | 분기 방
읽기 → -
은행 입금 연동 오류 응답 파싱과 필수값 검증 개선
사건 요약 - 은행 파트너 입금 호출에서 간헐적 실패가 발생, 사용자 화면에는 "처리 실패"만 노출됨 - Step2 진입 시 일부 필수값이 누락된 채 호출되어 NPE 로 흐름이 끊김 - 운영팀이 원인 파악을 못해 같은 케이스를 반복 문의받았음 두 갈래로 손봄 입금 유틸의 응답 파싱과 Step2 입력 검증, 두 군데를 같은 변경에 묶었음. 응답 파싱은
읽기 → -
입금 크롤링을 HTTP 직접 호출로 교체해 응답 10배 빠르게
출발점 입금 내역 확인용 유틸이 헤드리스 브라우저로 은행 사이트를 띄워서 DOM 긁는 구조였음. 의존성 무겁고, 셀렉터 한 번 어긋나면 통째로 멈춤. 새벽에 알람 받고 일어난 적이 한두 번이 아니라서 진짜로 한 번 갈아엎고 싶었음. 무엇을 바꿨나 실제 동작을 패킷 캡처로 까보니 결국 로그인 토큰 받고 거래내역 조회 엔드포인트 두세 번 때리는 게 전부였
읽기 → -
송금 폼 버그 6건을 이벤트 누락 하나로 한 번에 해결
송금 폼 6건 한 번에 잡은 날 특정 시중은행 연동 송금 폼에서 자잘한 버그 6건이 동시에 올라옴. 하나씩 보면 사소한데 모이니까 사용자가 1단계도 못 넘는 상황. 결제 플랫폼에서 "입력 안 됨"은 곧 이탈이라 우선순위 최상위로 올림. 증상 정리 올라온 리포트 그대로 옮기면: | 번호 | 증상 | 재현 조건 | |---|---|---| | 1 |
읽기 → -
파트너 정산 송금을 접근성 서비스로 자동화한 과정
송금 자동화 배경 파트너 정산 처리량이 늘면서 수기 송금 부담이 한계점 도달. 결제대행사 정산 사이클 밖의 즉시 송금 건은 사람이 직접 은행 앱을 두드려야 했음. 안드로이드 접근성 서비스로 은행 앱 폼을 자동으로 채우는 보조 수단을 도입함. 결제 플랫폼 본 흐름은 그대로 두고, 운영팀 손이 닿는 부분만 줄이는 게 목표였음. - 메신저 알림 수신 → 송
읽기 → -
가상계좌 입금자명 매칭 실패를 알림 title 폴백으로 해결
입금자명, 왜 갑자기 title에서 빼야 했나 며칠 전부터 가상계좌 입금 매칭 실패율이 슬금슬금 올라감. 이상하다 싶어서 알림 원본 페이로드 까봤더니, 원인이 어이없었음. 카카오 쪽에서 내려주는 알림 본문(body) 포맷이 일부 케이스에서 바뀌어 있었음. 기존엔 본문에 홍길동님 1,000,000원 입금 식으로 깔끔하게 들어왔는데, 어느 순간부터는 본문에
읽기 → -
메신저 송금봉투 자동수령 누락 버그 수정
메신저 송금봉투 자동수령이 안 먹던 이유 파트너 정산 자동화 작업 중에 외부 메신저 송금봉투 알림이 들어와도 자동수령이 안 되는 케이스를 발견함. 알림 메시지는 분명히 들어왔는데 수령 처리가 안 되고 그대로 만료되는 상황. 이미 수동으로 처리하던 운영팀이 한참 쌓아둔 뒤에 알려줬음. 미안해서 바로 파봤음. 원인은 메시지 파서의 정규식 기존 파서는
읽기 → -
결제 파싱 오류를 LLM 교차검증으로 조기 포착한 정산 파이프라인 개선
파싱 데이터 신뢰도 문제 알림 페이로드에서 결제 정보를 뽑아 쓰는 파이프라인을 운영 중인데, 포맷이 자주 바뀜. 정규식으로 떠받치다가 한 글자 차이로 금액이 0원으로 들어가는 사고가 났음. 사후에 보면 "사람이 봤으면 다 보였을 텐데" 싶은 케이스가 대부분이라 LLM으로 한 번 더 훑게 했음. 왜 서버 프록시인가 클라이언트에서 직접 모델 호출하면
읽기 → -
입금 통보 파서에 AI 검증 얹어 정산 수기 보정 60% 줄임
배경 이커머스 결제 플랫폼에서 파트너별 입금 통보 메시지를 수신해 자동 매칭하는 기능이 있었음. 문제는 결제대행사·은행마다 포맷이 제각각이라 정규식이 폭발적으로 늘어났다는 것. 기존 파서는 새 포맷 하나 추가될 때마다 분기 로직이 누더기처럼 붙음. 입금자명 한 글자 누락되면 매칭 실패했고, 그게 누락 데이터로 쌓여서 운영팀이 매일 수기 보정함. 구
읽기 → -
컴포넌트 스캔 범위 확장으로 터진 빈 이름 충돌 해소
서버가 안 뜬다 월요일 아침 출근하자마자 빌드는 통과했는데 기동 단계에서 컨테이너가 죽음. 로그 맨 아래 한 줄이 모든 걸 설명해줬음. ConflictingBeanDefinitionException: Annotation-specified bean name 'xxxController' for bean class [com.example.biz.XxxCo
읽기 → -
결제 플랫폼 빈 이름 충돌로 서버 부팅 실패 해결
빈 이름 충돌로 서버가 안 떴던 날 이커머스 결제 플랫폼 백엔드를 띄우는데 갑자기 부팅 실패. 로그 끝까지 내려가지도 않고 컨텍스트 초기화 단계에서 죽음. 처음엔 단순 의존성 문제인 줄 알았는데, 메시지를 천천히 읽어보니 빈 이름이 중복됐다는 얘기였음. 원인 찾기 스택을 위로 거슬러 올라가면서 확인한 것들: - 같은 도메인의 컨트롤러 두 개가 동
읽기 → -
결제 플랫폼 서버 기동 실패, 컨트롤러 빈 이름 충돌로 해결
서버가 안 뜸 오전에 결제 플랫폼 모듈 한 군데 손보고 로컬에 띄우는데 기동 자체가 실패함. 로그 끝부분만 잘라보면 "동일한 빈 이름이 이미 정의되어 있다"는 메시지가 떡하니 박혀 있었음. 코드는 컴파일 통과했는데 컨테이너 초기화 단계에서 막힌 케이스. | 증상 | 원인 | 영향 | |---|---|---| | 컨테이너 초기화 실패 | 동일 이름 빈
읽기 → -
로컬 DB 싱글턴화로 초기화 속도 개선하고 커밋 컨벤션 정리
커밋 컨벤션 정리하다가 메시지가 꼬임 오늘 작업은 분량으로 보면 가벼운데 시간을 의외로 잡아먹었음. 스킬/에이전트 가이드 문서 두 개, 진입점 화면 클래스 라이프사이클 한 군데, 로컬 DB 추상 레이어를 한 커밋에 묶다가 prefix 표기를 잘못 적어서 다시 정리함. 무엇이 문제였나 처음엔 그냥 feat: chage git 이라고 적었음. 보다시피
읽기 → -
브라우저 자동화 격리로 세션 충돌 없애고 확인 작업 속도 개선
심볼릭 링크에서 실제 파일로 agent-browser 스킬 추가하면서 같이 정리한 게 AGENTS.md 처리 방식임. 원래는 다른 문서를 참조하는 형태로 두고 있었는데, 도구가 그 참조를 따라가지 못하는 케이스가 자꾸 생겨서 그냥 실제 파일로 박아버림. 겉보기엔 똑같은데, 도구가 읽을 때 동작이 달라짐. | 구분 | 이전 | 변경 후 | |---|-
읽기 → -
폐업 사업자 정산 오류 막으려 진위확인 API와 알림 로그 관리 도입
사업자 진위확인 외부 API 붙이기 파트너 등록 화면에서 사업자번호 검증을 외부 API로 처리하기로 함. 기존엔 입력값을 그냥 믿고 저장했는데, 실제로 폐업·휴업 사업자 데이터가 섞여서 정산할 때 골치 아팠음. 검증 응답에서 챙긴 필드: | 필드 | 의미 | |---|---| | 상태코드 | 계속/휴업/폐업 | | 과세유형 | 일반/간이/면세 | |
읽기 → -
기기 교체 후 수신 메시지 복구를 위한 서버 동기화 구현기
왜 만들었나 - 기기 교체하면 이전 수신 내역이 통째로 날아갔음. 사용자 문의가 꾸준히 들어옴 - 로컬에만 쌓아둔 데이터라 복구 경로가 아예 없었음 - 서버에 보존돼 있는 원본을 끌어와 로컬과 병합하는 흐름이 필요했음 구조 잡기 | 레이어 | 역할 | |--|--| | 진입 화면 | 최초 진입 시 동기화 트리거 | | 설정 화면 | 수동 재동기화 +
읽기 → -
간편결제 입금 자동 매칭으로 파트너 정산 클레임 해소
왜 자동 감지가 필요했나 - 간편결제 송금으로 들어오는 입금 건은 그동안 운영팀이 화면 보면서 손으로 매칭했음 - 입금량이 늘면서 매칭 지연 → 파트너 정산 클레임 누적 - 정산 파이프라인 끝단이 수동이라 앞단 자동화 효과가 다 깎이고 있었음 두 가지 선택지를 두고 고민함 결제대행사 쪽 입금 알림 채널과 자체 폴링을 같이 검토했음. | 방식 | 장점
읽기 → -
결제 거래 실시간 동기화 API 설계와 멱등성 확보
배경 결제 플랫폼 모니터링 도구에서 거래 이력을 외부 시스템과 맞춰야 하는 요구가 있었음. 기존엔 새벽 배치로 한 번씩 긁어왔는데, 파트너 쪽에서 실시간에 가까운 동기화를 요청. 배치 주기를 줄이는 건 한계가 있어서 동기화용 API를 따로 뽑기로 함. 설계 포인트 처음엔 "최근 N분치 가져오기" 식으로 만들려다가, 멱등성을 못 잡으면 중복 적재가
읽기 → -
결제 콜백 자동수신으로 수동 입금 매칭 루프 제거
자동수신 결과를 받기 시작함 결제대행사에서 보내는 자동 입금 결과를 그동안 사람이 하루 한 번 손으로 매칭하던 구조였음. 누락 건이 가끔 생겼고, 정산 마감 직전에 발견되면 새벽에 다시 들어와 메우는 일이 반복됐음. 이번에 콜백을 받는 엔드포인트를 새로 붙여서 그 루프를 끊었음. 신규 API에서 챙긴 포인트는 세 가지였음. - **멱등성**: 같은
읽기 → -
파트너 정산 은행 도메인 누락으로 송금 인증 실패하던 문제 수정
채팅 메시지 속 은행 링크를 못 찾았음 파트너 정산 채널에서 송금 인증 캡처 대신 메시지 앱 링크를 그대로 붙여넣는 케이스가 점점 늘었음. 메시지 본문에서 은행 도메인을 뽑아 송금 사실을 검증하는 로직이 있는데, CS팀에서 "특정 은행만 매번 인증 실패가 난다"는 리포트가 연달아 들어옴. 원인: 도메인 화이트리스트 노후화 은행 URL 추출기는 정규
읽기 →