연락처 송금 파싱 재시도·매칭 누락 버그 수정
목차
연락처 송금 파싱 실패 재시도 sysId 필터 추가
2026-03-25에 연락처 송금 기능의 버그를 수정했음.
연락처 송금은 은행 앱 화면을 자동으로 조작해서 입금 처리를 완료하는 구조임. 각 은행별로 UI가 다르기 때문에 은행별 핸들러가 개별로 존재하고, Playwright로 브라우저를 제어함.
수정 포인트
- 은행 셀렉터 감지 로직 오류
- 계좌 로테이션 순서 문제
- 파싱 실패 후 재시도 필터 조건 누락
- 비회원 주문 매칭 누락
// 완료 감지 regex 통합 패턴
private static final Pattern COMPLETE_PATTERN =
Pattern.compile("(이체|송금|완료|처리됐|성공)");
AI 폴백 로직이 붙어 있어서 정규식으로 못 잡는 케이스는 Claude API에 화면 텍스트를 넘겨서 파싱 결과를 받는 구조임. 은행마다 완료 메시지 문구가 조금씩 달라서 regex만으로는 한계가 있었음.
다음
작업 규모는 크지 않았지만 운영 안정성을 위한 필요한 변경이었음. 이런 작은 수정들이 쌓여서 전체 시스템의 신뢰도를 높임.
연락처 송금 안정성 확보 전략
은행 앱 UI는 앱 업데이트마다 바뀔 수 있음. 하드코딩된 셀렉터는 앱 버전이 올라가면 갑자기 동작을 멈춤. 자가학습 캐시 구조가 이 문제를 완화함.
성공한 셀렉터를 DB에 저장해두고, 다음 요청에서는 저장된 셀렉터를 먼저 시도함. 실패하면 전체 탐색으로 폴백하고, 성공한 새 셀렉터를 다시 저장함.
- PENDING: 처리 중
- SUCCESS: 완료
- NO_MATCH: 주문 매칭 실패 → 재시도 큐
- MANUAL_REQUIRED: 자동 처리 불가 → 수동 처리
다음
댓글 0
첫 댓글 달아줘.