장바구니와 결제: 견적 기반 B2B 흐름
이 문서는 견적 기반 B2B 판매를 위해 설계된 당사의 장바구니와 결제 시스템을 설명합니다.
문제: B2B 대 B2C
전통적인 전자상거래는 B2C(기업 대 소비자)입니다:
-
고정 가격
-
즉시 결제
-
신용카드 결제
-
자동화된 이행
당사의 비즈니스는 B2B(기업 대 기업)입니다:
-
견적 기반 가격 책정
-
수동 검토
-
은행 송금 결제
-
맞춤 구성
우리는 두 모델을 모두 지원하는 장바구니 시스템이 필요합니다.
장바구니 유형
견적 장바구니 (기본값)
목적: 맞춤 구성에 대한 견적 요청
흐름: 항목 추가 → 세부 정보 입력 → 제출 → 이메일로 견적 수신
결제: 사전에 필요하지 않음
사용 사례: 맞춤 빌드, 대량 주문, 협상 가격
쇼핑 카트 (Google 쇼핑)
목적: 고정 가격으로 직접 구매
흐름: 항목 추가 → 세부 정보 입력 → 온라인 결제 → 주문 확인
결제: 사전에 필요함 (Razorpay)
사용 사례: Google 쇼핑의 표준 구성
탐지: URL에 gclid, gbraid 또는 wbraid 포함
장바구니 구조
장바구니 모델
필드:
-
Items: 라인 항목 목록 (SKU, 수량, 단가, 금액) -
CustomerName: 구매자 이름 -
CustomerEmail: 구매자 이메일 -
CustomerPhone: 구매자 전화번호 -
CustomerAddress: 배송 주소 -
CustomerGSTIN: 세금 ID (선택 사항) -
TotalAmount: 라인 항목 합계 -
GSTAmount: 세금 금액 -
NetAmount: 총액 + GST -
Currency: 장바구니 통화 (INR, USD 등) -
Type: "cart" 또는 "quote"
라인 항목
필드:
-
SKU: 제품 식별자 -
quantity: 단위 수 -
Rate: 단위당 가격 -
Amount: 단가 × 수량
장바구니 추가 흐름
직접 추가 (GET)
SKU와 함께 URL 매개변수를 통해 항목 추가.
동작:
- 새 장바구니 생성 또는 기존 장바구니 로드
- 수량 1로 SKU 추가
- 장바구니 페이지 표시
사용 사례: 제품 페이지의 "장바구니에 추가" 버튼
양식 추가 (POST)
양식 데이터: SKU, 수량, 고객 세부 정보
동작:
- SKU 존재 여부 확인
- 지정된 수량으로 장바구니에 추가
- 장바구니 총액 업데이트
- 장바구니 페이지 표시
V-SKU 특별 처리
V-SKU(가상/구성된 제품)는 장바구니 내용을 대체합니다:
이유: V-SKU는 완전한 시스템이며 다른 항목과 호환되지 않음
동작: 기존 항목 비우기, V-SKU만 추가
예외: Google 쇼핑 모드 (여러 항목 허용)
장바구니 저장
위치: 서버 측 Flask 세션
형식: 세션에 직렬화된 사전
지속성: 브라우저 종료 또는 쿠키 만료 시까지
장점: 결제 전까지 데이터베이스 쓰기 없음
결제 흐름
견적 요청
단계:
- 사용자가 고객 세부 정보 입력
- "견적 받기" 클릭
- 장바구니가 CRM 티켓에 저장됨
- 영업팀에 이메일 발송
- 영업팀이 견적을 회신함
결제 없음: 이메일로 견적 발송
직접 구매
단계:
- 사용자가 고객 세부 정보 입력
- "결제 진행" 클릭
- 장바구니가 주문 테이블에 저장됨
- Razorpay 결제 페이지 표시
- 결제 처리
- 주문 확인
결제 필요: Razorpay 통합
통화 처리
장바구니 통화: 장바구니 생성 시 설정
잠김: 항목 추가 후 통화 변경 불가
변환: 모든 항목이 장바구니 통화로 변환됨
표시: 장바구니 통화와 INR 환산액 모두 표시
GST 계산
인도 (GSTIN 제공): 적용 가능한 비율로 GST 추가
인도 (GSTIN 없음): 적용 가능한 비율로 GST 추가
국제: GST 없음
공식: 순액 = 총액 + GST
추적 매개변수
장바구니 생성 시 저장:
캠페인 매개변수: utm_source, utm_medium, utm_campaign
클릭 ID: gclid, gbraid, wbraid, fbclid
저장: 시간 창(30분)이 있는 쿠키 기반
목적: 연락처 추적을 통해 오프라인 전환을 온라인 캠페인에 귀속
이메일 알림
견적 요청 이메일
수신: 영업팀
내용: 고객 세부 정보, 라인 항목, 총액
첨부 파일: 없음
주문 확인 이메일
수신: 고객
내용: 주문 세부 정보, 결제 정보, 다음 단계
첨부 파일: 청구서 PDF (결제 수신 시)
결제 통합
게이트웨이: Razorpay
지원: INR, USD, EUR, GBP
방법: 신용카드, 직불카드, UPI, 인터넷 뱅킹
웹훅: 웹훅을 통한 결제 상태 업데이트
자세한 내용: 결제 통합 참조
장바구니 유효성 검사
결제 전:
SKU 유효성 검사: 모든 SKU가 존재해야 함
수량 유효성 검사: 양의 정수만 허용
고객 유효성 검사: 이름, 이메일, 전화번호 필수
주소 유효성 검사: 배송에 필요
GSTIN 유효성 검사: 제공된 경우 형식 확인
참조
관련 문서
요약
당사의 장바구니 시스템은 견적 기반과 직접 구매 흐름을 모두 지원합니다:
장바구니 유형:
-
견적 장바구니 (기본값, 결제 없음)
-
쇼핑 카트 (Google 쇼핑, 결제 필요)
기능:
-
다중 항목 장바구니
-
통화 잠금
-
GST 계산
-
V-SKU 특별 처리
-
캠페인 추적
결제:
-
견적 요청 (영업팀 이메일)
-
직접 구매 (Razorpay 결제)
저장:
-
세션 기반 (결제 전까지 DB 없음)
-
30일 지속성
이 하이브리드 접근 방식은 B2B 견적 기반과 B2C 직접 구매 모델 모두에 제공됩니다.