#fix
-
파트너 레벨 목록을 DB 동적 조회로 전환해 코드 수정 없이 관리
fix: JSP 동적 파트너 레벨 필터링 및 불필요한 폴백 로직 제거 파트너 관리 기능 정비 작업임. 계정 발급, 레벨 설정, 수수료 설정이 한 화면에서 유기적으로 동작해야 해서 꼼꼼히 짜야 했음. 파트너 등록 필수값 | 필드 | 필수 여부 | 검증 | |------|--------|------| | 상호명 | 필수 | NOT NULL | | 대표
읽기 → -
결제 웹훅 이중 URL 디코딩 버그 수정으로 서명 검증 안정화
fix: 포인트소멸/사용자출금 Webhook도 이중 URL decode 버그 수정 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태로 들어옴. 서버 프레임워크가 Conten
읽기 → -
가상계좌 웹훅 암호화 필드 이중 디코딩 버그 수정
fix: VBANK_CHARGE Webhook 암호화 필드 이중 URL decode 버그 수정 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태로 들어옴. 서버 프레임워크가
읽기 → -
결제 웹훅 이중 URL 디코딩으로 인한 시그니처 검증 오류 수정
fix: VBANK_CHARGE Webhook 시그니처 검증 시 URL-encoded trstnId를 primary로 변경 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태
읽기 → -
예치금 충전·차감 오류 메시지를 사용자 친화적으로 개선
fix: 예치금 충전/차감 금액 제한 및 에러 메시지 개선 에러 처리는 사용자 경험에 직결됨. 스택 트레이스 그대로 보여주거나, 의미 없는 "오류가 발생했습니다" 메시지는 지양함. 에러 레이어별 처리 BusinessException → 400/422 + 구체적 메시지 AuthException → 401/403 + 리다이렉트 NotFoundExce
읽기 → -
결제 알림 채널별 발송
fix: Welcome Payments 스펙 개선 및 PUSH NOTI 처리 기능 추가 알림 시스템 구현 작업임. 거래 이벤트마다 적절한 채널로 알림을 발송하는 구조를 잡았음. 알림 채널 | 채널 | 용도 | 특징 | |------|------|------| | 앱 PUSH | 실시간 거래 알림 | FCM 사용 | | SMS | 중요 인증/보안 |
읽기 → -
KYC 결제 웹훅 이중 디코딩 버그 수정으로 시그니처 검증 안정화
fix: KYC 본인인증 로직 개선 및 PAYAPI 스펙 준수 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태로 들어옴. 서버 프레임워크가 Content-Type: app
읽기 → -
웰컴페이 회원 탈퇴 시 관리자 식별자 조회 로직 보완
fix: 웰컴페이 회원 탈퇴 로직 보완 (mgtId 조회 로직 추가) 이번 작업의 핵심은 기존 기능 안정화와 코드 일관성 확보였음. 변경 범위가 여러 레이어에 걸쳐있어서 영향 범위를 꼼꼼히 체크했음. 변경 영역 | 레이어 | 파일 수 | 주요 변경 | |--------|--------|---------| | 백엔드 로직 | 1개 | 핵심 처리 로직
읽기 → -
이메일 인증 테스트 로직을 운영 환경에 맞게 개선
fix: 이메일 인증 개발 테스트 로직 변경 및 운영 환경 조건 추가 이번 작업의 핵심은 기존 기능 안정화와 코드 일관성 확보였음. 변경 범위가 여러 레이어에 걸쳐있어서 영향 범위를 꼼꼼히 체크했음. 변경 영역 | 레이어 | 파일 수 | 주요 변경 | |--------|--------|---------| | 백엔드 로직 | 1개 | 핵심 처리 로직
읽기 → -
결제 웹훅 이중 디코딩 버그 수정으로 시그니처 검증 안정화
fix: 회원 조회/업데이트 로직 최적화 및 중복 방지 처리 개선 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태로 들어옴. 서버 프레임워크가 Content-Type: a
읽기 → -
결제 웹훅 이중 URL 디코딩 버그 수정으로 시그니처 검증 안정화
fix: Welcomepay ci 필드 조회 로직 수정 및 회원 쿼리 기본 조건 변경 Webhook 처리 로직에서 꽤 골치 아픈 이슈를 잡았음. 핵심은 이중 URL decode 문제임. 문제 발생 배경 결제대행사 Webhook은 POST body로 암호화된 필드를 넘겨주는데, 이 값이 URL-encoded 상태로 들어옴. 서버 프레임워크가 Cont
읽기 → -
JSP 관리자 화면 모바일 대응
fix: OG 이미지 기본 경로 수정 및 이미지 파일 추가 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrap
읽기 → -
Apple OAuth 콜백 CORS 차단
fix(oauth): Apple OAuth 콜백 CORS 차단 해제 Apple OAuth가 구글/카카오랑 달리 까다로운 이유가 있음. form_post 방식을 강제하기 때문에 콜백이 POST로 들어오고, 이 과정에서 세션이 끊기거나 CORS 문제가 발생함. Apple OAuth 특이사항 - 콜백이 GET이 아닌 POST (form_post) - 봇
읽기 → -
Apple OAuth 콜백 차단·세션 유실 문제 해결
fix(oauth): Apple OAuth 콜백 봇 차단 필터 예외 추가 Apple OAuth가 구글/카카오랑 달리 까다로운 이유가 있음. form_post 방식을 강제하기 때문에 콜백이 POST로 들어오고, 이 과정에서 세션이 끊기거나 CORS 문제가 발생함. Apple OAuth 특이사항 - 콜백이 GET이 아닌 POST (form_post)
읽기 → -
레거시 JSP 관리자 화면을 모바일 대응으로 개선
fix: JSON 파싱 오류 원인 치환 문자열 수정 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrapper
읽기 → -
JSP 워밍업 의존성 주입 조건 분기 버그 수정
fix: JspWarmupRunner 의존성 주입 방식 개선 — 버그 픽스.
읽기 → -
에러 레이어별 분리로 사용자 친화적 오류 메시지 제공
fix: 사용자 친화적 오류 메시지 처리 개선 에러 처리는 사용자 경험에 직결됨. 스택 트레이스 그대로 보여주거나, 의미 없는 "오류가 발생했습니다" 메시지는 지양함. 에러 레이어별 처리 BusinessException → 400/422 + 구체적 메시지 AuthException → 401/403 + 리다이렉트 NotFoundException →
읽기 → -
JSP 관리자 화면 모바일 반응형
fix: JSP 개발 모드 설정 로컬 환경 분리 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrapper d-
읽기 → -
관리자 페이지 사이드바 자동 스크롤과 브레드크럼 개선
fix: breadcrumb 링크 대상 관리자 대시보드로 수정 관리자 페이지 네비게이션 정비 작업임. 사이드바 메뉴 구조 개편과 breadcrumb 개선이 핵심이었음. 사이드바 자동 스크롤 javascript const activeMenu = document.querySelector('.sidebar-menu .active'); if (active
읽기 → -
지갑 잔액 표시 개선과 포인트 차감 동시성 버그 수정
fix: 관리자 시스템 접근 권한 버그 수정 + 지갑 잔액 표시 개선 포인트/잔액 관련 로직은 정합성이 핵심임. 동시성 이슈와 소수점 처리를 특히 조심해야 함. 포인트 차감 순서 무상 포인트 먼저 차감 → 부족하면 유상에서 차감 (세금 처리, 환불 정책과 연관됨) 동시성 처리 sql -- 비관적 락으로 잔액 차감 SELECT balance
읽기 →