모바일 장바구니에 담아둔 품절상품 결제
본문
영카트 5.2.9.8.4 버전을 사용중인데
장바구니에 담아둔 상품이 품절처리가 되었는데 결제가 되는 이슈가 발생해서 찾아보니
위 글에서 5.3.1.7 버전 업데이트시에 적용되었다고해서
/shop/ajax.orderstock.php 파일에
for($i=0; $row=sql_fetch_array($result); $i++) {
$ct_qty = $row['ct_qty'];
/* 추가한 소스 */
// 해당 상품이 품절 또는 판매중지 상태인지 체크합니다.
$sql = " select it_soldout, it_use, ca_id, ca_id2, ca_id3 from {$g5['g5_shop_item_table']} where it_id = '".$row['it_id']."' ";
$item = sql_fetch($sql);
$category_str = '';
// 분류에서 판매가능한지 체크합니다.
if( $item['it_use'] && ($item['ca_id'] || $item['ca_id2'] || $item['ca_id3']) ){
$sql = " select ca_use from {$g5['g5_shop_category_table']} where (ca_id = '".$item['ca_id']."' or ca_id = '".$item['ca_id2']."' or ca_id = '".$item['ca_id3']."') ";
$result2 = sql_query($sql);
while($ca=sql_fetch_array($result2)){
if ( ! $ca['ca_use']) {
$item['it_use'] = false;
$category_str = '분류에서 ';
}
}
}
// 해당 상품이 품절 상태 또는 판매중지이면
if( $item['it_soldout'] || !$item['it_use'] ){
$soldout_txt = $item['it_soldout'] ? '품절' : $category_str.'판매중지';
$item_option = $row['it_name'];
if($row['io_id'])
$item_option .= '('.$row['ct_option'].')';
die( $item_option." 상품이 ".$soldout_txt." 되었습니다.\n\n장바구니에서 해당 상품을 삭제후 다시 주문해 주세요." );
}
/* 추가한 소스 */
if(!$row['io_id'])
~~~~
}
이렇게 추가를 했습니다
pc 버전에서는 적용이 잘 되어 결제넘어갈때 막힙니다.
그런데 모바일에서는 여전히 장바구니에 담아놓은 상품이 품절되었을때 결제까지 넘어가면
결제가 진행됩니다... pc는 품절, 판매중지 잘 막히는데 모바일은 왜 안막히는지 영문을 모르겠습니다.
모바일 orderform.sub 파일에 pay_approval 함수안에 재고체크하는 order_stock_check 함수를 불러오는데도 결제가 되다보니 어디를 손봐야할지 모르겠습니다...
모바일에서도 pc와 동일하게 결제넘어갈때 품절, 판매중지인건 결제가 안되게 어떻게 막아야 하나요...??
!-->
답변을 작성하시기 전에 로그인 해주세요.