개발
코드 / 아키텍처 / 디버깅
-
가상계좌 충전 정산에 결제수단 컬럼과 멱등 처리 추가
결제수단 필드를 왜 이제야 추가했나
읽기 → -
결제대행사 충전 화면 개선과 조회 쿼리 최적화
무엇을 건드렸나 결제대행사 연동 충전건의 상세 화면과 리스트 화면을 손봤음. 어드민에서 보던 충전 상세는 정작 운영자가 필요한 정보가 흩어져 있어서 매번 DB 스크립트로 까봤는데, 이걸 화면에서 한 번에 확인 가능하게 정리. 작업한 레이어 정리하면 이런 모양: | 레이어 | 변경 포인트 | |---|---| | 어드민 컨트롤러 | 상세 응답 DTO
읽기 → -
결제 수수료 정산을 지연 차감 방식으로 전환해 환불 흐름 단순화
배경 결제 플랫폼에서 파트너에게 부과되는 수수료를 결제 즉시 차감하는 기존 로직이 있었음. 문제는 이커머스 특성상 결제 후에도 환불/취소가 빈번하게 일어난다는 점. 즉시 차감해버리면 환불이 들어왔을 때 수수료를 다시 환원해야 하는데, 이 역방향 흐름이 곳곳에서 깨지고 있었음. 흐름 재설계 결제대행사에서 정산 데이터가 넘어오는 시점을 기준으로 상태를
읽기 → -
결제대행사 연동 제거로 충전 로직 버그까지 발견 정리
결제대행사 연동 삭제와 충전 로직 손질 오늘 작업은 두 갈래였음. 더 이상 트래픽이 들어오지 않는 결제대행사 연동을 들어내는 것, 그리고 충전 흐름에 쌓여있던 잔버그를 정리하는 것. 왜 들어냈는가 - 해당 결제대행사로 유입되는 트래픽이 사실상 0에 수렴 - 그런데 유지보수 비용은 그대로 발생 (콜백 검증, 환불 분기, 예외 처리) - 다른 결제대행
읽기 → -
충전 수수료를 충전 트랜잭션 단위로 매칭해 회계 역추적 해결
충전 수수료 차감, 어느 시점 요율을 따라야 하나 결제 플랫폼에서 파트너가 잔액을 충전할 때 충전 수수료를 떼는 구조인데, 환불·취소 흐름에서 차감 기준이 애매했음. 충전 시점 요율을 박아두는 방식이었는데, 파트너 등급이 중간에 바뀌면 과거 충전건과 현재 차감액이 어긋남. 회계팀에서 "이 충전건이 그 차감인지 매칭이 안 된다"는 컴플레인이 들어와서 손을
읽기 → -
결제 수단 추가로 드러난 정산 쿼리 누락과 분기 구조 개선
새 결제 수단 붙이기 이커머스에서 결제대행사 한 곳을 추가함. 기존엔 카드/가상계좌만 받던 흐름에 새 수단이 끼어들면서, 결제 요청 분기에서 슬슬 균열이 보이기 시작함. 처음엔 그냥 if 한 줄 더 넣고 끝날 줄 알았는데, 실제로 붙여보니 응답 콜백 포맷이 달라서 파싱 단계부터 다시 짜야 했음. 단순 추가가 아니라 "이미 너무 비대해진 분기"를 건드리
읽기 → -
카드 충전 수수료 차감 로직 원자적 처리 구현
feat: 결제대행사 카드 충전 수수료 차감 로직 추가 로직을 구현했음.
읽기 → -
에이전트 산출물 디렉터리를 깃이그노어로 차단해 PR 노이즈 제거
.omc/ 를 .gitignore 에 박은 이유 작업 도중 워킹트리에 .omc/ 디렉터리가 슬금슬금 늘어나는 걸 발견함. 에이전트 상태, 노트패드, 프로젝트 메모리, 플랜 초안, 로그까지 죄다 그 안에 쌓이고 있었음. 깜빡하고 한 번 커밋했다가 PR 디프가 본질 변경 30줄에 부산물 800줄로 부풀어버려서, 리뷰어가 "이거 뭐냐"고 물어본 게 트리거였음
읽기 → -
결제대행사 회원 동기화를 비동기 큐로 전환해 정산 누락 해소
발단 이커머스 결제대행사 연동 작업 중 회원 정보 동기화 스펙 추가 요청 받았음. 신규 가입 시 결제대행사 쪽에 우리 회원 식별값을 함께 넘겨야 환불·정산 매칭이 깔끔해진다는 운영팀 피드백 때문이었음. 기존엔 결제 시점에 임시로 끼워 넣고 있어서 매칭 누락이 가끔 터졌음. 무엇을 추가했는가 가입/수정 흐름에 정식 필드를 박고, 변경 이벤트를 외부로
읽기 → -
가상계좌 수수료 후정산 전환과 충전 상태 머신 정합성 확보
가상계좌 충전 수수료, 결국 후정산이 답 결제대행사 가상계좌로 잔액 충전하는 흐름에서 수수료 처리가 계속 어긋났음. 충전 시점에 수수료까지 한 번에 차감하니까 회계팀에서 "이게 왜 여기서 빠져?"가 반복됨. 가상계좌 건당 부과되는 입금/발급 비용은 **이번 정산 시 차감되는 게 아니라 익월에 별도 청구**되는 구조. 그동안 코드는 충전 직후 머천트 잔
읽기 → -
이커머스 파트너 충전 결제 연동과 잔액 정산 안정화
결제대행사 충전 플로우 붙이기 이커머스 파트너 잔액에 충전 기능 하나 추가하는 일이었음. 단순히 API 한 개 더 까는 줄 알았는데, 결제대행사 쪽 응답 파싱이랑 트랜잭션 경계 잡는 게 생각보다 까다로웠음. 기본 흐름은 이렇게 정리: - 클라이언트 충전 요청 → 서버에서 주문 키 발급 - 결제대행사 팝업 띄워서 결제 진행 - 콜백 수신 → 검증 →
읽기 → -
결제 콜백 후 잔액 즉시 반영
결제 콜백 후 잔액이 안 보이던 문제 결제대행사 콜백이 들어와서 충전이 끝났는데, 정작 파트너 화면에서 새 잔액을 보려면 새로고침을 두세 번 해야 했음. 콜백 처리 자체는 멀쩡한데 후처리 흐름이 어긋난 것. 원인을 까보니: - 콜백 트랜잭션 커밋 직후 응답을 돌려주는데, 조회 API 쪽이 자체 캐시를 들고 있었음 - 잔액 반영 이벤트가 비동기로 흐르
읽기 → -
은행 연동 코드를 어댑터 패턴으로 신규 프로젝트에 이전
은행 핸들러 마이그레이션 시작 기존 이커머스 플랫폼에 흩어져 있던 은행 연동 코드를 신규 프로젝트로 옮김. 단순 복붙이 아니라 의존성부터 정리해야 했음. 문제는 기존 코드가 캐시 유틸을 직접 import 하고 있었고, 신규 쪽엔 그 유틸이 없었음. 같은 이름으로 새로 깎느냐, 인터페이스만 맞추느냐 사이에서 고민하다가 신규에 얇게 다시 만드는 쪽으로 감
읽기 → -
결제 플랫폼 보안 취약점 9건 한꺼번에 잡은 후기
코드 리뷰 한 방에 9건 결제 플랫폼 코드 리뷰 받은 거 한꺼번에 정리함. CRITICAL 2건, HIGH 4건, MEDIUM 3건. 충전/이체/파트너 관리/API 키 인증 구간이 골고루 걸렸음. 생각보다 한 군데 몰려 있어서 작업 자체는 반나절 컷. | 등급 | 영역 | 핵심 | |---|---|---| | CRITICAL | 이체 | 금액 검증 누
읽기 → -
송금 수수료 홀딩 정책 도입과 파트너별 입금 통계 화면 추가
연락처 송금 수수료 관리, 그리고 파트너 입금 통계 오늘은 결제 플랫폼에 두 가지를 한 번에 밀어넣음. 하나는 연락처 송금 흐름에 수수료 정책을 붙이는 작업, 다른 하나는 파트너별로 입금 내역을 합산해서 운영팀이 볼 수 있게 만드는 통계 화면. 처음엔 두 작업이 별개라고 생각했는데, 막상 들여다보니 **잔액 계산 유틸리티**가 양쪽에서 똑같이 호출되고
읽기 → -
입금 계좌 로테이션과 AI 입금자명 자동 매칭 도입
한 계좌만 쓰던 시절의 한계 파트너가 늘어나면서 단일 입금 계좌 구조가 슬슬 깨지기 시작함. 일 거래량이 일정 수준을 넘어가니 은행 쪽에서 거래 패턴을 의심하기도 하고, 한도에 막혀서 오후 늦게 입금이 튕기는 사고도 종종 났음. 파트너 입장에서는 한 번 튕긴 경험이 재충전 의욕을 꺾어버려서, 단순한 운영 이슈로 끝나지 않고 매출 직격타로 돌아왔음. 그
읽기 → -
메신저 공유 URL 파싱 오류를 난독화 설정으로 해결
v3.1 릴리즈 회고 릴리즈 노트 정리하다가 메신저 공유 URL 파싱이 자꾸 깨졌던 게 떠올라서 한번 정리함. 무엇이 문제였나 기존 추출 로직은 정규식 한 줄로 끝냈었는데, 메신저 쪽에서 공유 포맷을 살짝 바꾸면서 ?p= 뒤에 추가 파라미터가 붙기 시작했음. 사용자 입장에선 같은 링크인데 앱에서만 못 받아내는 상황. - 원본 URL 끝에 &sha
읽기 → -
결제대행사 콜백이 봇 필터에 막혀 정산 PENDING이 쌓인 문제 해결
외부 결제대행사 콜백이 차단당했음 이커머스 운영 중에 결제대행사 콜백이 봇 차단 필터에서 4xx로 떨어지는 사고 발생. 사용자 결제는 정상 완료됐는데 콜백이 막히니까 결제 플랫폼 내부 상태가 PENDING에서 안 넘어감. 정산 화면 보다가 발견했으니 운영 모니터링이 한 박자 늦은 것도 같이 발견됨. 원인 파악 - 봇 차단 필터를 외부 노출 API 경
읽기 → -
안드로이드 버전 코드 올리기 전 결제 회귀 테스트까지 챙기는 릴리즈 루틴
versionCode 7 올리면서 했던 생각들 v1.0.4 릴리즈 준비하면서 build.gradle 만 한 줄 바꿨음. versionName "1.0.4", versionCode 7. 진짜 별거 아닌 커밋인데, 이걸 손볼 때마다 머릿속에 체크리스트가 돌아가서 정리해둠. versionName vs versionCode 매번 헷갈려하는 동료가 있어서
읽기 → -
파트너 정산 계좌 등록의 은행명 파싱 오류와 증권사 무한 로딩 수정
무슨 일이 있었음 파트너 정산용 계좌 등록 흐름에서 은행 응답 파싱이 들쭉날쭉해서 고치는 작업. 같은 은행이라도 응답 페이로드 표기가 케이스마다 달라서 매칭이 깨지는 문제였음. 거기에 한 파트너가 증권사 CMA를 등록하려다 무한 로딩에 빠졌다는 제보까지 들어옴. 핸들러가 증권사를 은행처럼 해석하다가 멍 때리는 동선. 깨졌던 표기 케이스 | 응답
읽기 →