개발/php
영카트 주문 내역 페이지에서 신용카드 결제 취소 가능하도록
HHHONG
2025. 2. 3. 12:32
반응형
현재 영카트는 입금 전 주문 내역에 대해서만 고객이 취소할 수 있도록 되어있는데, 상품 준비 전까지는 신용카드 결제 완료 후에도 얼마든지 고객이 직접 취소가 가능하도록 기능이 필요해서 아래와 같이 수정하였다.
shop/orderinqueryview.php 파일
수정 전
$st_count1++;
if($opt['ct_status'] == '주문')
$st_count2++;
}
수정 후
$st_count1++;
if($opt['ct_status'] == '주문' || (($opt['ct_status'] == '입금') && ($od['od_settle_case'] == '신용카드')))
$st_count2++;
}
mobile/shop/orderinquerycancel.php
수정 전
// 주문상품의 상태가 주문인지 체크
$sql = " select SUM(IF(ct_status = '주문', 1, 0)) as od_count2,
COUNT(*) as od_count1
from {$g5['g5_shop_cart_table']}
where od_id = '$od_id' ";
$ct = sql_fetch($sql);
}
$uid = md5($od['od_id'].$od['od_time'].$od['od_ip']);
if($od['od_cancel_price'] > 0 || $ct['od_count1'] != $ct['od_count2']) {
alert("취소할 수 있는 주문이 아닙니다.", G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&uid=$uid");
}
수정 후
if($od['od_settle_case'] == '신용카드'){
$sql = " select SUM(IF(ct_status = '입금', 1, 0)) as od_count2,
COUNT(*) as od_count1 from {$g5['g5_shop_cart_table']}
where od_id = '$od_id' ";
$ct = sql_fetch($sql);
}else{
// 주문상품의 상태가 주문인지 체크
$sql = " select SUM(IF(ct_status = '주문', 1, 0)) as od_count2,
COUNT(*) as od_count1 from {$g5['g5_shop_cart_table']}
where od_id = '$od_id' ";
$ct = sql_fetch($sql);
}
$uid = md5($od['od_id'].$od['od_time'].$od['od_ip']);
if($od['od_cancel_price'] > 0 || $ct['od_count1'] != $ct['od_count2']) {
alert("취소할 수 있는 주문이 아닙니다.", G5_SHOP_URL."/orderinquiryview.php?od_id=$od_id&uid=$uid");
}
반응형