본문 바로가기

웰로 · Wello · 2026.02 ~ 2026.05

결제 금액의 기준은 서버 하나

웰마켙 주문·결제 전 과정 구축

주문서부터 결제 승인, 배송, 취소·반품·환불, 운영 어드민까지 주문·결제 전 과정을 구축했습니다.

문제
화면과 서버의 금액 계산이 다르면 PG 승인 금액이 어긋나고, 재고 소진·주문 만료·인증 실패에서도 다음 행동이 보여야 했습니다.
결정
서버가 확정한 금액만 PG에 요청하도록 기준을 서버로 고정했습니다. 화면은 사용 내역만 보내고, 확정은 API가 합니다.
결과
2026.03 오픈 후 1개월간 결제 금액 관련 CS 문의와 API 에러 로그가 0건이었습니다.

결과 근거: 이력서 기재 내용. 이 페이지에서 측정한 값이 아닙니다.

구조

결제 금액의 기준은 서버 하나
웰마켙 공개 홈 화면. 상단 내비게이션과 기부 배너, 지역 상품 카드가 보입니다.
웰마켙 공개 홈, 2026-10-07 촬영. 주문·결제 화면이 아니며 작업 당시 화면과 다를 수 있습니다.
주문서~주문서: 임시·화면 계산화면 금액 계산화면 금액 계산: 사용 안 함주문 내역주문 내역: 사용 안 함쿠폰·웰포인트~쿠폰·웰포인트: 임시·화면 계산체크아웃 API체크아웃 API: 사용 안 함주문 상태주문 상태: 사용 안 함운영 어드민운영 어드민: 사용 안 함NICEPAYNICEPAY: 사용 안 함

  • 주문서 · 임시·화면 계산
  • 쿠폰·웰포인트 · 임시·화면 계산
전·후 비교

주문서. 쿠폰·포인트 사용 내역을 체크아웃 API에 전달합니다.

범례
  • 임시·화면 계산
  • 확정
  • 문제 발생
  • 대기
  • 복구

판단

  • 최종 결제 금액은 누가 확정해야 하는가

    서버(체크아웃 API)가 확정

    쿠폰·포인트 사용 내역만 API에 넘기고, API가 확정한 금액만 NICEPAY에 전달해 기준을 한 곳으로 모았습니다.

    선택하지 않음 · 화면이 계산한 금액을 그대로 전달 — 화면과 서버의 계산 결과가 다르면 PG 승인 금액 불일치로 이어집니다.

  • 주문·취소·반품·환불 상태를 어떻게 다룰 것인가

    하나의 주문 상태 흐름으로 연결

    사용자 화면과 운영 어드민이 같은 주문 상태를 기준으로 동작하게 했습니다.

문제와 해결

  1. 문제

    재고 소진·주문 만료·인증 실패가 발생해도 사용자가 다음 행동을 알 수 있어야 했습니다.

    해결

    인증 결과는 사용자 취소·통신 실패 등 원인별로 안내하고, 재고 오류는 장바구니에서 다시 고르도록 연결했습니다.

서비스 화면

현재 공개 화면입니다. 작업 당시 화면과 다를 수 있습니다.

  • 웰마켙 PC 상품 목록 화면. 기부 안내 배너와 지역 상품 카드가 보입니다.
    웰마켙 공개 상품 목록, 2026-10-12 촬영. 주문·결제 화면이 아니며 로그인 없이 볼 수 있는 화면입니다.
  • 웰마켙 상품 상세 PC 화면. 상품명, 가격, 웰포인트 적립 혜택, 배송비와 옵션 선택이 보입니다.
    웰마켙 공개 상품 상세, 2026-10-12 촬영. 웰포인트 혜택이 결제 금액에 더해지는 지점입니다. 결제 화면은 로그인이 필요해 싣지 않았습니다.
  • 웰마켙 모바일 홈 화면. 상단 장바구니 아이콘, 기부 안내 배너와 상품 이미지, 하단 탭 바가 보입니다.
    웰마켙 공개 모바일 홈, 2026-10-12 촬영.
이력서 원문

쿠폰·웰포인트를 조합한 최종 결제 금액의 기준을 서버로 고정하고, 주문서부터 결제·배송·취소·반품·환불·운영 어드민까지 같은 서버 주문 상태 코드를 기준으로 동작하도록 맞췄습니다.

  1. 문제

    지역 상품 커머스 웰마켙은 상품·배송비·쿠폰·웰포인트가 겹쳐 최종 결제 금액이 복잡하게 정해집니다. 화면에 보이는 금액과 PG 승인 금액이 어긋나면 결제 불일치로 이어지고, 재고 소진·주문 만료·인증 실패 같은 중단 상황에서도 사용자가 다음 행동을 알 수 있어야 했습니다.

  2. 기여

    쿠폰·포인트 선택 내역을 체크아웃 API로 보내고, 서버가 확정한 금액만 NICEPAY에 요청하도록 결제 금액 기준을 서버로 고정했습니다. 인증 결과는 응답 코드별(사용자 취소·통신 실패 등)로 안내하고, 재고 부족·주문 만료는 장바구니로 돌려보내 다시 선택하게 했습니다. 배송·취소·반품·환불 화면과 운영 어드민은 같은 서버 주문 상태 코드를 기준으로 동작하게 맞췄습니다.

  3. 결과

    2026.03 오픈 후 1개월간 결제 금액 관련 CS 문의와 API 에러 로그가 0건이었습니다.