2026, 새로운 도약을 시작합니다.

쇼핑몰 물품 구매시 포인트 지급 채택완료

안녕하세요 영카트를 처음 이용하려고 하는데요 

약간의 커스텀마이징을 하고 있습니다. 

문제는 포인트 지급 부분인데요 

상품 구매시 기본 7일 이후에 포인트를 지급한다고 쇼핑몰 설정에 표시 되어 있잖아요 

이 포인트 지급이 자동 지급인가요? 

포인트 지급시 다른 포인트도 지급하려고 하거든요 (저희 회사만의...) 

어느 함수를 건드려야 할까요? 

알려주시기 바랍니다. 

감사합니다.

답변 1개

채택된 답변
+20 포인트

/lib/shop.lib.php 파일에서 아래 함수 살펴보세요.

//------------------------------------------------------------------------------

// 주문포인트를 적립한다.

// 설정일이 지난 포인트 부여되지 않은 배송완료된 장바구니 자료에 포인트 부여

// 설정일이 0 이면 주문서 완료 설정 시점에서 포인트를 바로 부여합니다.

//------------------------------------------------------------------------------

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

    }

}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고