주문데이터 관리 어떻게 하시나요?
안녕하세요.
주문테이블과 주문상세테이블이 있습니다.
<주문테이블>
주문번호(pk), 결제수단, 총주문금액, 결제금액, 주문일시 등
<주문상세테이블>
주문상세번호(pk), 주문번호(fk), 상품명, 상품가격, 옵션가격 등
사용자가 아래와 같은 상품 3개를 주문을 하고 결제를 합니다.
1. 상품A 50,000원 - 옵션A 3,000원
2. 상품B 100,000원 - 옵션A 3,000원
3. 상품C 70,000원 - 옵션B 5,000원
총 231,000원이 결제가 됐는데 고객이 상품B의 옵션을 C로 변경을 원합니다.
옵션C의 가격은 10,000원이어서 고객에게 추가로 7,000원을 더 받아야 됩니다.
이렇게 옵션이 변경되서 추가금이 발생되면 보통 어떻게 관리를 하나요??
기존 주문건(3건)을 통째로 취소하고 새로운 주문건을 생성하나요? (이때는 전액 환불 후 다시 결제 요청)
기존 주문상세 및 주문 데이터를 추가금에 맞게 옵션이나 총주문금액을 변경하는것도 이상한거 같고..
현업에서는 어떻게 관리를 하는지 궁금합니다.
현재 서비스 특성상 사용자들이 다시 한번 사이트 접속해서 주문을 하는걸 싫어합니다.
쇼핑몰처럼 단순히 상품을 선택하고 바로 결제하는게 아닌 따로 신청폼을 작성하고 필요하면 파일도 첨부해서 주문을 하기 때문에 다시 또 주문을 하는걸 꺼려하는거 같아요.
변경되는 상품만 따로 처리하는 좋은 방법이 있을까요..?
감사합니다.
결제 및 주문에 대한 내역은 보통 raw 로써 완전무결해야하고 Data 로써 적재 및 증빙 용도로도 쓰이기 때문에
이미 들어온 주문에 raw 자체를 수정하는 경우는 잘 없습니다.
(서비스마다 추구하는 바에 따라서 다르긴 합니다만..)
말씀하신것처럼 대부분의 경우 이미 결제완료까지 된 경우면 시스템적으론 들어온 주문,상품,금액이 달라지는 경우이기 때문에
이를 전액 혹은 해당 상품만이라도 취소,환불 처리 후 변경 요청된 상품으로 재결제 처리합니다.
가끔 이러한 추가결제건에 대해서 예외적처리하기 위하여 별도의 상품코드(추가결제용도) 를 따두고 이걸 주문에 추가하고.
그것만 결제하는 형식으로 처리하기도 합니다만 이러한 경우 상품에 대한 PRODUCT 테이블 관리에 문제가 생길수있으니 주의하셔야 합니다.
예를들어 추가결제용도로 단순하게 원 주문은 건들지 않고 추가 7000원만 별도의 상품으로 추가하고 결제하는 경우.
그럼 주문 데이터 상 나간 물건과. 실제 내 창고 인벤토리에 쌓여있는 상품에 재고 숫자가 안맞게 됩니다.
이러한 처리까지 모두 감안할 정도로 취소 후 재결제에 대한 불편함이 매출에 큰 영향을 준다면 이러한 형식으로 개발하시면 되고.
아닌 경우는 최초 생각하신것처럼 원장주문 전체 취소 후 신주문 오더 후 재결제가 원론적이긴 합니다.