장바구니와 결제: 견적 기반 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. 새 장바구니 생성 또는 기존 장바구니 로드
  2. 수량 1로 SKU 추가
  3. 장바구니 페이지 표시

사용 사례: 제품 페이지의 "장바구니에 추가" 버튼

양식 추가 (POST)

양식 데이터: SKU, 수량, 고객 세부 정보

동작:

  1. SKU 존재 여부 확인
  2. 지정된 수량으로 장바구니에 추가
  3. 장바구니 총액 업데이트
  4. 장바구니 페이지 표시

V-SKU 특별 처리

V-SKU(가상/구성된 제품)는 장바구니 내용을 대체합니다:

이유: V-SKU는 완전한 시스템이며 다른 항목과 호환되지 않음

동작: 기존 항목 비우기, V-SKU만 추가

예외: Google 쇼핑 모드 (여러 항목 허용)

장바구니 저장

위치: 서버 측 Flask 세션

형식: 세션에 직렬화된 사전

지속성: 브라우저 종료 또는 쿠키 만료 시까지

장점: 결제 전까지 데이터베이스 쓰기 없음

결제 흐름

견적 요청

단계:

  1. 사용자가 고객 세부 정보 입력
  2. "견적 받기" 클릭
  3. 장바구니가 CRM 티켓에 저장됨
  4. 영업팀에 이메일 발송
  5. 영업팀이 견적을 회신함

결제 없음: 이메일로 견적 발송

직접 구매

단계:

  1. 사용자가 고객 세부 정보 입력
  2. "결제 진행" 클릭
  3. 장바구니가 주문 테이블에 저장됨
  4. Razorpay 결제 페이지 표시
  5. 결제 처리
  6. 주문 확인

결제 필요: 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 직접 구매 모델 모두에 제공됩니다.


← 문서 색인으로 돌아가기