2026, 새로운 도약을 시작합니다.

영카트 5 재고수량 관련 질문 (장바구니에 담긴 상품이 재고에서 차감되는??..) 채택완료

안녕하세요 영카트 관련 질문입니다

이번에 개발주인 쇼핑몰 관련 고민이 있습니다

한정판매 사이트다 보니 재고가 좀 많이 민감하더라구요..

개발을 완료하고 테스트를 하다보니 재고가 분명히 1개가 있는데

다른 사용자가 상품을 구매하려고 하니 재고가 없다는 오류가뜨는것을 발견하였습니다

/shop/cartupdate.php 파일을 확인해보니 다른 사용자가 장바구니에 상품을 담아두면

재고가 없다고 뜨는 코드가 있더라구요..

이 사이트의 경우 장바구니에 담아만 놓고 결제는 하지 않는 경우는 조금 민감해서

해결방법을 고민중인데 혹시 아래 같은 방법으로 시도할 경우 문제가 없을지 고수님들의 조언 부탁드립니다.

---

장바구니에 있는 상품 수량을 차감하지 않도록 cartupdate.php 파일의 해당 코드를 주석 처리한다.

( 혹시 이 경우 재고가 -가 된다거나 하진 않나요?? )

---

감사합니다.!!

답변 1개

채택된 답변
+20 포인트

해당 체크로직은 그대로 두는게 좋을것 같아보입니다.

재고를 줄이도록 체크하는 로직은

장바구니에 들어있다고 해서 무조건 재고를 감소하는게 아니라.

상태가 주문,입금,발주를 대기로 해서

실제고애서 대기상태를 추가로 빼서 재고를 감안해서 계산하게 합니다.

관련 내용은

/lib/shop.lib.php 파일에서 확인가능합니다.

get_it_stock_qty($it_id) 

함수를 확인해보시면 알수있습니다.

그리고, 

g5_shop_cart는 영카트에서 장바구니로 사용하는게 맞지만

주문정보로도 사용되기때문에

상태값이 '쇼핑'인건 장바구니이고 그외의 정보는 다른 용도(주로 주문진행중/주문완료 등)입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

답변주셔서 감사합니다

만약 /shop/cartupdate.php의 로직을 건들지 않는다면 어떻게 장바구니의 제고를 무시하고 상품을 실제고 기준으로 확인할 수 있을지 조언주실 수 있으실까요??
@도치즈
제가 위에 적어둔 함수를
cartupdate.php 파일에서 호출해서 재고여부를 체크합니다.

따라서 재고의 준비중인것을( 입금 전에 는 재고없는것으로 간주하지 않으려면)

위 함수에서 '주문'을 제거 해야겠지만
클레임이 올것은 각오하시고 그에 상응하는 고객응대방법을 정하셔야합니다.
혹시 '주문'의 기준이 결제를 하기 전 상태를 의미하는걸까요?
만약 '주문' 상태를 검사하지 않도록 삭제할 경우 재고가 마이너스가 될 여지가 있는게 맞을까요??
@도치즈
영카트의 기본형을 사용하신다면

쇼핑 : 장바구니에 담긴상태
주문 : 주문을 한상태
입금 : 주문시 결제를 한상태이거나 주문후 무통장입금후 관리자가 입금확인한상태
발주 : 배송을 하기위해서 배송담당자가 작업을 진행한 상태(회사마다 달라요)
배송 : 배송중인상태
완료 : 배송이 완료된상태
취소 : 주문이 취소된상태

등을 보실수있습니다.

더 자세한건 영카트 메뉴얼과 소스를 천천히 따라가면서 db와 함께 참고하세요

https://sir.kr/manual/yc5/115
아하! 도움주셔서 감사합니다!!!
큰도움되었습니다! ㅎㅎ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고