#retry
-
가상계좌 입금자명 매칭 실패를 알림 title 폴백으로 해결
입금자명, 왜 갑자기 title에서 빼야 했나 며칠 전부터 가상계좌 입금 매칭 실패율이 슬금슬금 올라감. 이상하다 싶어서 알림 원본 페이로드 까봤더니, 원인이 어이없었음. 카카오 쪽에서 내려주는 알림 본문(body) 포맷이 일부 케이스에서 바뀌어 있었음. 기존엔 본문에 홍길동님 1,000,000원 입금 식으로 깔끔하게 들어왔는데, 어느 순간부터는 본문에
읽기 → -
메신저 송금봉투 자동수령 누락 버그 수정
메신저 송금봉투 자동수령이 안 먹던 이유 파트너 정산 자동화 작업 중에 외부 메신저 송금봉투 알림이 들어와도 자동수령이 안 되는 케이스를 발견함. 알림 메시지는 분명히 들어왔는데 수령 처리가 안 되고 그대로 만료되는 상황. 이미 수동으로 처리하던 운영팀이 한참 쌓아둔 뒤에 알려줬음. 미안해서 바로 파봤음. 원인은 메시지 파서의 정규식 기존 파서는
읽기 → -
결제 파싱 오류를 LLM 교차검증으로 조기 포착한 정산 파이프라인 개선
파싱 데이터 신뢰도 문제 알림 페이로드에서 결제 정보를 뽑아 쓰는 파이프라인을 운영 중인데, 포맷이 자주 바뀜. 정규식으로 떠받치다가 한 글자 차이로 금액이 0원으로 들어가는 사고가 났음. 사후에 보면 "사람이 봤으면 다 보였을 텐데" 싶은 케이스가 대부분이라 LLM으로 한 번 더 훑게 했음. 왜 서버 프록시인가 클라이언트에서 직접 모델 호출하면
읽기 → -
로컬 DB 싱글턴화로 초기화 속도 개선하고 커밋 컨벤션 정리
커밋 컨벤션 정리하다가 메시지가 꼬임 오늘 작업은 분량으로 보면 가벼운데 시간을 의외로 잡아먹었음. 스킬/에이전트 가이드 문서 두 개, 진입점 화면 클래스 라이프사이클 한 군데, 로컬 DB 추상 레이어를 한 커밋에 묶다가 prefix 표기를 잘못 적어서 다시 정리함. 무엇이 문제였나 처음엔 그냥 feat: chage git 이라고 적었음. 보다시피
읽기 → -
기기 교체 후 수신 메시지 복구를 위한 서버 동기화 구현기
왜 만들었나 - 기기 교체하면 이전 수신 내역이 통째로 날아갔음. 사용자 문의가 꾸준히 들어옴 - 로컬에만 쌓아둔 데이터라 복구 경로가 아예 없었음 - 서버에 보존돼 있는 원본을 끌어와 로컬과 병합하는 흐름이 필요했음 구조 잡기 | 레이어 | 역할 | |--|--| | 진입 화면 | 최초 진입 시 동기화 트리거 | | 설정 화면 | 수동 재동기화 +
읽기 → -
간편결제 입금 자동 매칭으로 파트너 정산 클레임 해소
왜 자동 감지가 필요했나 - 간편결제 송금으로 들어오는 입금 건은 그동안 운영팀이 화면 보면서 손으로 매칭했음 - 입금량이 늘면서 매칭 지연 → 파트너 정산 클레임 누적 - 정산 파이프라인 끝단이 수동이라 앞단 자동화 효과가 다 깎이고 있었음 두 가지 선택지를 두고 고민함 결제대행사 쪽 입금 알림 채널과 자체 폴링을 같이 검토했음. | 방식 | 장점
읽기 → -
파트너 정산 은행 도메인 누락으로 송금 인증 실패하던 문제 수정
채팅 메시지 속 은행 링크를 못 찾았음 파트너 정산 채널에서 송금 인증 캡처 대신 메시지 앱 링크를 그대로 붙여넣는 케이스가 점점 늘었음. 메시지 본문에서 은행 도메인을 뽑아 송금 사실을 검증하는 로직이 있는데, CS팀에서 "특정 은행만 매번 인증 실패가 난다"는 리포트가 연달아 들어옴. 원인: 도메인 화이트리스트 노후화 은행 URL 추출기는 정규
읽기 → -
가상계좌 입금 알림을 다중 은행 채널로 확장해 누락 해소
은행 알림에서 가상계좌 입금 URL을 자동으로 받아오는 경로에 손댔음. 기존엔 메신저 푸시 한 채널만 후킹해서 처리했는데, 일부 은행은 자체 푸시/SMS로만 결과를 쏴주니 누수가 생김. 파트너 화면에서 "입금됐는데 왜 반영 안 됨?" 문의가 한 주에 두어 건씩 올라왔음. 무엇을 바꿨나 주요 시중은행 두 곳(A, B) 알림을 별도 경로로 캡처하도록 텄음
읽기 → -
파트너 입금 정산 자동화로 야간 누락 제로 달성
왜 자동화했나 파트너 입금 확인을 매번 손으로 처리하다 보니 누락이 생김. 메신저로 알림 와서 → 사람이 브라우저 열고 → 링크 타고 들어가서 → 내용 확인 → 다시 내부 시스템에 등록하는 패턴이 반복됐는데, 야간엔 처리가 늦어져서 정산이 밀림. "이거 왜 사람이 함?" 싶어서 파이프라인으로 묶음. 처리 흐름 | 단계 | 주체 | 역할 | |---
읽기 → -
송금 URL로 은행 자동 판별하는 구조 짜기
캡처된 송금 URL을 어떻게 받을지 고민함 스마트폰에서 연락처 송금을 누르면 은행 앱이 뜨는 게 일반적인데, 우리는 한 칸 앞에 끼어들어야 했음. 사용자가 송금 직전에 URL을 캡처해 넘겨주면, 그걸 보고 어느 은행인지 판별하고 후속 흐름을 잇는 구조. 문제는 은행마다 URL 포맷이 제각각이라는 점. 은행 판별을 어떻게 짰나 처음엔 정규식 한 줄
읽기 → -
결제 알림 오프라인 유실 없애고 자동수령 안정화
시작 오늘은 메신저 자동수령 안정화 작업을 한 바퀴 돌렸음. 단말에서 결제 알림을 잡아 백엔드로 흘려보내는 모듈인데, 네트워크 끊겼을 때 알림이 통째로 사라지는 게 오래된 골칫거리였음. 한 방에 잡으려고 세 갈래로 손댔음. 오프라인 큐잉 기존엔 알림 받자마자 바로 HTTP 호출. 지하철/엘리베이터에서 끊기면 그대로 소실됐음. 로컬 DB에 1차 적재
읽기 → -
연락처이체 자동화 오류 13건을 조건 대기와 이중 검증으로 해결
13개가 한꺼번에 터졌다 연락처이체 웹 자동화가 또 깨졌음. 은행별 페이지 구조가 미묘하게 달라서 한 곳 고치면 다른 데서 터지는 두더지잡기. 이번엔 분산해서 잡지 말고 13개 케이스 한꺼번에 모아서 정리함. 증상은 비슷했음: - "이체 성공"으로 찍혔는데 실제 거래는 미체결 - 페이지 전환 도중 다음 step 클릭해서 element not found
읽기 → -
은행별 입금 감시 오류 분류와 멱등성으로 이중 처리 방지
입금 감시 로직, 은행마다 다르게 터지는 게 문제였음 여러 은행 핸들러에서 입금 완료 감시 로직이 들쭉날쭉이라 정리한 회고. 같은 "입금 확인"인데 은행별로 응답 포맷, 타임아웃 패턴, 에러코드가 다 달라서 분기마다 한 번씩 장애가 났음. 무엇이 문제였나 기존 구조는 각 은행 핸들러가 자기 방식대로 예외를 던지고, 상위 스케줄러는 그걸 단순히 ca
읽기 → -
송금 수취인 계좌 오매칭을 파트너 식별자 조회로 해결
파트너 식별자 기반 계좌 조회로 갈아탄 이유 연락처 송금 흐름 손볼 때 가장 거슬렸던 게 수취인 계좌 매칭 로직임. 기존엔 입력값(연락처 + 이름) 조합으로 계좌를 끌어왔는데, 동명이인이거나 같은 번호를 공유하는 파트너가 끼면 엉뚱한 잔액 계좌로 꽂힐 위험이 있었음. 이번에 파트너 식별자(partnerSn)를 1차 키로 잡고 계좌를 조회하도록 갈아엎음.
읽기 → -
Android 앱 아이콘이 PNG로 올바르게 표시되도록 수정
fix: mipmap-anydpi-v26 제거하여 PNG 아이콘 적용 — Android 앱 변경 커밋.
읽기 → -
금융 알림 수신 Android 앱 리브랜딩
앱 리브랜딩: SMS모니터링 + 아이콘 변경 + v1.0.0 — Android 앱 변경 커밋.
읽기 → -
FCM 푸시와 인증코드로 금융 알림 앱 사용자 설정 강화
v3.0: FCM 푸시 + 인증코드 기반 사용자 설정 — Android 앱 변경 커밋.
읽기 → -
Android 16 대응으로 알림 권한
v2.1: Android 16 대응 + sysId 필드 추가 + API 포맷 변경 Android 앱 쪽 작업이 생각보다 빡셌음. 특히 Android 16 타겟팅 대응이 핵심이었는데, targetSdkVersion을 올리면서 권한 처리 방식이 바뀐 부분이 있어서 꼼꼼히 체크해야 했음. 주요 변경 포인트 | 항목 | 변경 전 | 변경 후 | |----
읽기 → -
Android 16 대응으로 알림 리스너 안정성과 기기 식별 구조 개선
v2: Room DB 제거 + 메모리 기반 경량화 + 보안 개선 Android 앱 쪽 작업이 생각보다 빡셌음. 특히 Android 16 타겟팅 대응이 핵심이었는데, targetSdkVersion을 올리면서 권한 처리 방식이 바뀐 부분이 있어서 꼼꼼히 체크해야 했음. 주요 변경 포인트 | 항목 | 변경 전 | 변경 후 | |------|-------
읽기 → -
README 정비로 팀 문서화 기준 확립
README.md 추가 문서 작업은 다들 대충 하고 넘어가는데 나중에 후회함. README를 제대로 정리하면서 프로젝트 구조도 같이 다시 봤음. README에 반드시 들어가야 할 것들 markdown 프로젝트 개요 어떤 문제를 해결하는지 1-2줄로 설치 방법 복붙 가능한 명령어 위주로 환경 변수 | 키 | 설명 | 필수 여부 | 아키텍
읽기 →