Files
Gnuboard5/adm/shop_admin/orderpartcancelupdate.php
whitedot e784186b0f feat: SIRK 전용 카카오페이 연동 종료와 기존 주문 지원 절차 추가
전용 신규 결제와 자동 취소를 차단하고 기존 주문 조회 및 실제 PG 취소 확인 후 수동 정리를 지원한다. 기존 DB와 일반 PG 경로를 보존하고 5.6.37 전환 및 사후지원 절차를 문서화한다.

검증: 변경 PHP 문법, SIRK 요청 차단, 설치 스키마 및 쇼핑몰 후설치 검사 통과. 실제 PG 결제·취소 검증은 별도 진행한다.
2026-09-09 07:58:05 +00:00

60 lines
2.2 KiB
PHP

<?php
$sub_menu = '400400';
include_once('./_common.php');
auth_check_menu($auth, $sub_menu, "w");
check_admin_token();
$od_id = isset($_POST['od_id']) ? safe_replace_regex($_POST['od_id'], 'od_id') : '';
$mod_memo = isset($_POST['mod_memo']) ? trim(clean_xss_tags($_POST['mod_memo'], 1, 1)) : '';
$tax_mny = isset($_POST['mod_tax_mny']) ? preg_replace('/[^0-9]/', '', $_POST['mod_tax_mny']) : 0;
$free_mny = isset($_POST['mod_free_mny']) ? preg_replace('/[^0-9]/', '', $_POST['mod_free_mny']) : 0;
if(!$tax_mny && !$free_mny)
alert('과세 취소금액 또는 비과세 취소금액을 입력해 주십시오.');
if(!trim($mod_memo))
alert('요청사유를 입력해 주십시오.');
// 주문정보
$sql = " select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' ";
$od = sql_fetch($sql);
if(! (isset($od['od_id']) && $od['od_id']))
alert_close('주문정보가 존재하지 않습니다.');
if($od['od_settle_case'] == '계좌이체' && substr($od['od_receipt_time'], 0, 10) >= G5_TIME_YMD)
alert_close('실시간 계좌이체건의 부분취소 요청은 결제일 익일에 가능합니다.');
if ($od['od_pg'] === 'KAKAOPAY') {
alert_close('SIRK 전용 카카오페이의 자동 취소 지원이 종료되었습니다. 이니시스 상점관리자에서 실제 취소 후 주문 상태와 환불금액을 확인해 주십시오.');
}
// 금액비교
$od_misu = abs($od['od_misu']);
if(($tax_mny && $free_mny) && ($tax_mny + $free_mny) > $od_misu)
alert('과세, 비과세 취소금액의 합을 '.display_price($od_misu).' 이하로 입력해 주십시오.');
if($tax_mny && $tax_mny > $od_misu)
alert('과세 취소금액을 '.display_price($od_misu).' 이하로 입력해 주십시오.');
if($free_mny && $free_mny > $od_misu)
alert('비과세 취소금액을 '.display_price($od_misu).' 이하로 입력해 주십시오.');
// PG사별 부분취소 실행
include_once(G5_SHOP_PATH.'/'.strtolower($od['od_pg']).'/orderpartcancel.inc.php');
include_once(G5_PATH.'/head.sub.php');
?>
<script>
alert("<?php echo get_text($od['od_settle_case']); ?> 부분취소 처리됐습니다.");
opener.document.location.reload();
self.close();
</script>
<?php
include_once(G5_PATH.'/tail.sub.php');