← 포트폴리오 목록

공동구매 결제 배치·예외 관리 콘솔

공동구매 마감 후 자동결제 배치의 실행 현황과 실패 재시도, 중복결제 방지·부분 실패 같은 결제 예외 기록, 공동구매별 마감과 확정 금액, 리뷰와 상품의 연결 관리, 주문과 회원 조회를 한 콘솔로 묶는 운영 화면을 설계합니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종데이터 분석
기술 스택
Next.jsReactTypeScriptTailwind CSSNode.jsPostgreSQLPrisma나이스페이Redis
주요 기능
  • 대시보드 — 자동결제 배치 현황
  • 결제 예외 로그
  • 공동구매 마감
  • 리뷰 연결 관리

프로젝트 개요

범위: 개발, 디자인, 기획

공동구매 마감 후 자동결제 배치의 실행 현황과 실패 재시도, 중복결제 방지·부분 실패 같은 결제 예외 기록, 공동구매별 마감과 확정 금액, 리뷰와 상품의 연결 관리, 주문과 회원 조회를 한 콘솔로 묶는 운영 화면을 설계합니다. 이용자 화면과 같은 결제 상태값을 읽어, 문제가 생긴 건을 운영자가 바로 확인하고 다시 실행할 수 있는 구조를 제안합니다.

작업 범위

  • 대시보드 — 자동결제 배치 현황: 마감 후 실행되는 자동결제 배치의 대상 건수와 성공·실패 건수가 실행 줄 단위로 보입니다. 실패 건을 골라 재시도 대상으로 올릴 수 있습니다
  • 결제 예외 로그: 중복결제 방지로 차단된 요청과 복수 주문 중 일부만 실패한 건이 사유별로 모입니다. 한 건을 열어 처리 경위를 확인합니다
  • 공동구매 마감: 공동구매별 마감 일정과 참여 인원, 마감 후 확정 금액을 표로 확인하고 확정 전 내용을 점검합니다
  • 리뷰 연결 관리: 기존에 작성된 리뷰를 상품에 연결하는 대기 목록을 보고, 상품을 지정해 연결합니다. 연결 결과는 상품 상세에 반영됩니다

주요 업무

  • 대시보드 — 자동결제 배치 현황 화면: 배치 실행 기록 테이블을 기준으로 실행별 결과를 집계하고, 실패 건 재시도를 별도 작업으로 분리합니다
  • 결제 예외 로그 화면: 멱등키 충돌과 부분 실패를 예외 유형으로 분류해 기록하고, 이용자 화면과 같은 결제 상태값으로 조회합니다
  • 공동구매 마감 화면: 마감 일정별로 확정 금액을 계산해 보여주고, 확정 후에는 자동결제 대상 목록으로 넘기는 흐름을 설계합니다
  • 리뷰 연결 관리 화면: 리뷰 원본은 유지한 채 상품 연결 테이블만 갱신하고, 연결 후보를 판매자·작성일 기준으로 제안합니다
공동구매 결제 배치·예외 관리 콘솔
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

배치 실행 도중 서버가 재시작되어도 이미 결제된 건이 다시 결제되지 않

건별 상태와 멱등키를 함께 보는 설계가 필요합니다

빌링키 결제가 실패하는 사유(한도 초과·카드 만료 등)별로 재시도 가능 여부를 나누는 분류 기준 설계가 필요합니다

복수 주문 일괄결제의 부분 실패를 운영자가 한눈에 따라갈 수 있

묶음과 주문 단위 조회를 함께 지원하는 쿼리 설계가 필요합니다

확정 금액이 마감 이후 수정되는 경우 이미 결제된 건과의 차액을 구분해 보여주는 이력 설계가 필요합니다

구현 내용

핵심 기능 상세

핵심 기능 1

대시보드 — 자동결제 배치 현황

마감 후 실행되는 자동결제 배치의 대상 건수와 성공·실패 건수가 실행 줄 단위로 보입니다. 실패 건을 골라 재시도 대상으로 올릴 수 있습니다.

  • 마감 시각 이후 대상 참여 건을 조회해 실행하는 배치 스케줄러 구조 설계
  • 배치 실행·건별 결과 테이블과 실패 사유 코드 설계
  • Redis 분산 잠금으로 같은 배치가 겹쳐 실행되지 않도록 하는 구조 설계

배치 실행과 건별 결제 결과를 분리 기록해 실패 건만 골라 재시도하는 흐름을 설계합니다.

대시보드 — 자동결제 배치 현황
대시보드 — 자동결제 배치 현황 실제 화면
핵심 기능 2

결제 예외 로그

중복결제 방지로 차단된 요청과 복수 주문 중 일부만 실패한 건이 사유별로 모입니다. 한 건을 열어 처리 경위를 확인합니다.

  • 멱등키 충돌 요청을 예외 로그로 남기는 결제 미들웨어 설계
  • 부분 실패 주문을 묶음 단위로 추적하는 조회 쿼리와 필터 설계
  • 예외 유형별 처리 상태(확인 필요·조치 완료)를 갖는 상태 모델 설계

중복결제 차단과 부분 실패를 같은 예외 로그 구조에 담아 유형별로 걸러 볼 수 있게 설계합니다.

결제 예외 로그
결제 예외 로그 실제 화면
핵심 기능 3

공동구매 마감

공동구매별 마감 일정과 참여 인원, 마감 후 확정 금액을 표로 확인하고 확정 전 내용을 점검합니다. 마감 일정별로 확정 금액을 계산해 보여주고, 확정 후에는 자동결제 대상 목록으로 넘기는 흐름을 설계합니다.

  • 참여 인원 구간별 가격표로 확정 금액을 계산하는 서버 로직 설계
  • 마감 취소·최소 인원 미달을 구분하는 공동구매 상태 전이 모델 설계
  • 확정 금액 변경 이력을 남기는 감사 로그 테이블 설계

확정 금액 계산을 서버 한 곳에서만 수행하도록 두어 이용자 화면과 결제 배치가 같은 금액을 읽게 설계합니다.

공동구매 마감
공동구매 마감 실제 화면
핵심 기능 4

리뷰 연결 관리

기존에 작성된 리뷰를 상품에 연결하는 대기 목록을 보고, 상품을 지정해 연결합니다. 연결 결과는 상품 상세에 반영됩니다.

  • 연결되지 않은 리뷰를 판매자별로 모아 보여주는 대기 목록 쿼리 설계
  • 상품 후보를 판매자·작성일 기준으로 제안하는 검색 로직 설계
  • 다건 선택 후 일괄 연결을 하나의 트랜잭션으로 처리하는 API 설계

연결 작업을 일괄 트랜잭션으로 묶어 일부만 연결되는 상태가 남지 않도록 설계합니다.

리뷰 연결 관리
리뷰 연결 관리 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

배치 실행·예외 기록 스키마 설계 · 2026.10

배치 실행, 건별 결과, 멱등키, 예외 로그 테이블과 상태값을 이용자 화면과 맞춰 설계

STEP 2

자동결제 배치와 재시도 구현 · 2026.10

마감 후 대상 조회, 빌링키 결제 실행, 실패 건 재시도 작업과 분산 잠금 구현

STEP 3

예외 로그와 마감 확정 화면 구현 · 2026.10

중복 차단·부분 실패 목록, 확정 금액 표와 확정 확인 흐름 화면 구현

STEP 4

리뷰 연결 관리와 운영 문서 정리 · 2026.10

리뷰 연결 대기 목록과 일괄 연결 화면 구현, 배치 점검 절차를 비개발자용 문서로 정리

개발 결과

분산 잠금 기반 배치 중복 실행 방지 설계Redis 잠금 키로 같은 마감 배치가 겹쳐 실행되지 않도록 하고 재시작 시 이어 실행하는 구조 설계
건별 결과 기록과 실패 건 재시도 구조 설계배치 실행과 건별 결제 결과를 분리 저장해 실패 건만 재시도 대상으로 올리는 상태 모델 설계
결제 예외 유형 분류 체계 설계중복 차단·부분 실패·결제수단 오류를 유형으로 분류하고 처리 상태를 갖는 예외 로그 구조 설계
확정 금액 단일 계산 경로 설계참여 인원 구간별 가격표로 확정 금액을 서버 한 곳에서 계산해 화면과 배치가 같은 값을 읽게 설계

기술적 주안점

  • 배치 실행과 건별 결제 결과를 분리 기록해 실패 건만 골라 재시도하는 흐름을 설계합니다
  • 중복결제 차단과 부분 실패를 같은 예외 로그 구조에 담아 유형별로 걸러 볼 수 있게 설계합니다
  • 확정 금액 계산을 서버 한 곳에서만 수행하도록 두어 이용자 화면과 결제 배치가 같은 금액을 읽게 설계합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의