개발/php

영카트 주문 내역 페이지에서 신용카드 결제 취소 가능하도록

반응형

 

현재 영카트는 입금 전 주문 내역에 대해서만 고객이 취소할 수 있도록 되어있는데, 상품 준비 전까지는 신용카드 결제 완료 후에도 얼마든지 고객이 직접 취소가 가능하도록 기능이 필요해서 아래와 같이 수정하였다.

 

 

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");
}

 

반응형