쇼핑몰? 그까짓거 그냥 하지~ 라고 할 뻔;
쇼핑몰 페이지, 개발 이외의 것들
이번에 친구가 캔들을 만들어서 판매하는 사업을 시작한다고 연락이 왔다.
대학교 때 동기들 개발 과제를 전부 가져가서 해주고, 대학원 연구 도와주고 했던 그런 오지랖이 또 고개를 들었다.
그거 그냥 내가 해줄게. 나 쓰셈 나.
보통 이럴 때는 “카페24나 스마트스토어 써”라고 하는 게 정답인 걸 안다.
하지만 그냥… 나도 최근에 개인 사업자를 냈기도 했고, 이커머스 도메인의 A to Z를 경험해보고 싶었기 때문이다.
그렇게 ‘1995 Candle’ 디렉토리를 만들고, 깃에 프로젝트를 올렸다.
기술적인 욕심도 부렸다.
Next.js App Router를 기반으로 SEO를 챙기고, 화면에서는 상품을 보면 자동으로 불이 켜지게 만들었다. 다크 모드로 전환하면 페이지 전체가 어두워지면서 향초에 은은한 불빛이 들어오는 인터랙션도 넣었다.
단순히 상품만 나열하는 게 아니라, AI 챗봇을 붙여서 고객의 기분이나 분위기에 따라 향을 추천해주는 기능도 기획했다.
기술적으로나 시각적으로나 꽤 만족스러운 결과물이 나오고 있었다.
하지만 쇼핑몰은 ‘웹사이트’가 아니라 ‘가게’였다. 서버와 클라이언트 로직이 완성된다고 끝나는 게 아니었다.
오히려 코딩이 끝나고 나니, 개발 이외의 해야 할 일들이 산더미처럼 보이기 시작했다.
혹시나 나처럼 “쇼핑몰 하나 직접 만들어보지 뭐”라고 생각하는 분들을 위해(그리고 나를 위해), 앞으로 남은 ‘현실적인’ 과제들을 정리해본다.
1. 결제 시스템 (PG사 연동과 정산)
쇼핑몰의 핵심은 결국 돈을 받는 것이다. 개발 환경에서 결제 로직을 구현했다고 끝이 아니다. 실제 카드 결제를 받으려면 PG(Payment Gateway)사와의 계약이 필수적이다.
- 계약 및 심사: 포트원(구 아임포트)이나 토스페이먼츠 등 PG사를 선정하고, 필수 서류를 제출해 심사를 받아야 한다. 쇼핑몰 하단에 사업자 정보가 없으면 심사조차 거절당한다.
- 보증보험 가입: 실물 상품을 판매하는 경우, 먹튀 방지를 위한 보증보험 가입이 필요하다.
- 정산 주기 확인: 결제된 금액이 즉시 입금되는 것이 아니므로, 자금 흐름에 맞춘 정산 주기를 파악해야 한다.
PG 연동 결제 로직 구현 (간단한 순서)
계약이 완료되면, 실제로 코드를 짜서 연동해야 한다.
- SDK 설치: 포트원 등 PG사에서 제공하는 SDK를 프론트엔드에 심는다.
- 결제 요청: 사용자가 ‘결제하기’를 누르면 SDK 함수를 호출해 결제창을 띄운다. (여기서 결제 완료되면
imp_uid같은 고유 키가 떨어진다.) - 검증 로직 (중요!): 프론트에서 결제 성공했다고 끝이 아니다. 백엔드에서 해당 키로 PG사 서버에 조회해서 “진짜 결제된 건지”, “금액은 맞는지” 더블 체크해야 한다. 이거 안 하면 100원 결제하고 100만원어치 물건 가져가는 해킹 당한다.
- DB 업데이트: 검증까지 끝나면 그제서야 주문 상태를
PAID로 바꾼다.
2. 물류와 배송 시스템
주문 데이터가 DB에 생성된 후, 실제 물건이 고객에게 가기까지의 과정이다.
- 택배사 계약: 편의점 택배로 일일이 보낼 수 없다. 물량에 따른 택배사 계약이 필요하다.
- 송장 관리: 주문 내역을 엑셀로 다운로드해 송장 출력 프로그램과 연동하거나, 별도의 OMS(주문 관리 시스템) 도입을 고려해야 한다.
- CS/반품 정책: 단순 변심, 파손 등에 대한 명확한 교환/환불 규정과 시스템적인 처리 절차(반품 신청 버튼 등)가 필요하다.
3. 고객 유지 (Retention)
고객이 한 번 들어왔다 나가는 게 아니라, 다시 찾아오게 만들어야 한다.
- 소셜 로그인: 회원가입 장벽을 낮추기 위해 카카오, 네이버 로그인은 필수다.
- 리워드 시스템: 첫 구매 쿠폰, 적립금 등 구매 전환을 유도할 혜택 설계와 이를 뒷받침할 DB 로직이 필요하다.
- 알림 채널: 주문 상태 변경 알림(알림톡)이나 재입고 알림을 보낼 마케팅 채널 연동이 필요하다.
4. 법적 의무 사항
쇼핑몰 운영은 법 테두리 안에서 이루어져야 한다.
- 통신판매업 신고: 사업자 등록 외에 통신판매업 신고가 별도로 필요하다.
- 필수 정보 표시: 사이트 하단(Footer)에 상호, 대표자명, 주소, 연락처, 사업자번호, 통신판매업신고번호, 개인정보책임자를 명시해야 한다.
- 에스크로(구매안전서비스): 현금 결제 시 소비자를 보호할 에스크로 가입 마크를 부착해야 한다.
5. 검색 엔진 최적화 (SEO)
아무리 잘 만든 사이트라도 검색되지 않으면 의미가 없다.
- 구조적 데이터: 구글 쇼핑 등에서 상품 정보(가격, 재고 등)를 잘 긁어가도록
Product스키마 마크업을 적용해야 한다. - 메타 태그: SNS 공유 시 썸네일과 설명이 매력적으로 보이도록 Open Graph 태그를 관리해야 한다. (동적 메타 태그 생성 등)
개발은 비즈니스를 실현하는 도구일 뿐이다.
화려한 인터랙션과 AI 추천 기능도 중요하지만, 결국 쇼핑몰의 본질은 “고객이 편하게 돈을 내고, 약속한 물건을 잘 받는 것”에 있다.
남은 단계들은 코딩보다는 서류 작업과 운영 정책을 정하는 일이 더 많겠지만, 이 또한 내 서비스의 완성도를 높이는 과정이라 생각하고 하나씩 해결해나가야겠다.
마침.
다른 글 보기
아, 당신이 ALB시군요... (feat. 퍼블릭 IP 한도 초과)
퍼블릭 IP 부족 사태로 인한 ALB 도입과 최적화 기록.
[DevOps] init-letsencrypt.sh 분석 (매번 찾기 귀찮아서 정리)
Nginx + Let's Encrypt 닭과 달걀 문제 해결 스크립트 분석 및 개인 메모.
초기창업패키지 사업 지원.
실패한 건 실패한거고, 다음으로 넘어가야지. 이번엔 진짜 제대로.
RHCSA 8일차
Chapter 6. Networking