주문상태 완료인데 포인트 자동적립이 안 됩니다.
본문
신용카드 결제 시 주문상태가 입금이 아닌 완료로 바뀌도록 설정했고, 주문완료 0일 후에 신용카드도 포인트 자동적립 되도록 했는데 신용카드 결제완료 시 포인트 자동적립이 안 됩니다.
orderformupdate.php
else if ($od_settle_case == "신용카드")
.
.
.
if($od_misu == 0)
$od_status = '완료';
phpmyadmin을 봐보니까 g5_shop_cart에 ct_status가 "완료"가 되었지만 ct_point_use가 0으로 나와있고,
아래 주문내역에서 "보기" 버튼을 누르면 그제서야 ct_point_use가 1로 바뀌면서 포인트가 적립이 됩니다.
shop.lip.php에
function save_order_point($ct_status="완료")
{
global $g5, $default;
$beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
$sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 회원 ID 를 얻는다.
$od_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면
$po_point = $row['ct_point'] * $row['ct_qty'];
$po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']})";
insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
}
sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' ");
}
}
위와 같이 되어있고
adm/shop_admin/orderform.php에
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
라고 되어 있습니다.
orderformupdate.php에
아래 코드 바로 위에
goto_url(G5_SHOP_URL.'/orderinquiryview.php?od_id='.$od_id.'&uid='.$uid);
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
이것도 해봤는데 안 되고요.
신용카드 결제 시 바로 "완료"처리가 되는데 포인트 자동적립이 안 되고,
왜 위 주문내역에 "보기" 버튼을 클릭해야 포인트 자동적립이 되는 걸까요?
전문가님들께 조언을 구합니다.
!-->!-->!-->!-->!-->
답변을 작성하시기 전에 로그인 해주세요.