결제시 가용포인트를 지정했는데.. 배송지를 입력하면 리셋돼요.

결제시 가용포인트를 지정했는데.. 배송지를 입력하면 리셋돼요.

QA

결제시 가용포인트를 지정했는데.. 배송지를 입력하면 리셋돼요.

본문


       $temp_point = 0;
        // 회원이면서 포인트사용이면 사용가능포인트20%
        if ($is_member && $config['cf_use_point'])
        {
            // 포인트 결제 사용 포인트보다 회원의 포인트가 크다면
            if ($member['mb_point'] >= $default['de_settle_min_point'])
            {
                $temp_point = (int)$default['de_settle_max_point'];
                if($temp_point > (int)$tot_sell_price*0.2)
                    $temp_point = (int)$tot_sell_price*0.2;
                if($temp_point > (int)$member['mb_point'])
                    $temp_point = (int)$member['mb_point'];
                $point_unit = (int)$default['de_settle_point_unit'];
                $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit);
                echo '<div class="sod_frm_point">';
                echo '<div class="point_input"><input type="hidden" name="max_temp_point" value="'.$temp_point.'"><label for="od_temp_point">'.$point_unit.' Point 단위 입력</label><input onkeyup="inputNumberFormat(this);"[type="text" id="od_temp_point" name="od_temp_point" value="0" size="6"></div>';
                echo '<div id="sod_frm_pt_info"><span class="max_point_box"><strong>사용가능포인트 (결제금액 20%이내)</strong><em id="use_max_point">'.display_point($temp_point).'</em></span><span><strong>누적 포인트</strong>'.display_point($member['mb_point']).'</span></div>';
                echo '</div>';
                $multi_settle++;
            }
        }

 

eyekiss님 도움으로 이와 같이 사용가능 포인트를 20%로 지정하였습니다.

그런데 결제 마지막 단계에서 배송지 정보를 입력하면 20%지정이 리셋이 되어 결제금액의 100% 결제가 된답니다..

 

어떻게 해결해야하는지.. 전문가분의 도움 부탁드려요.

이 질문에 댓글 쓰기 :

답변 2

배송지 입력시에 ajax처리 되는 부분이 없는지 디버깅하며 체크해보셔야 할듯 합니다.

eyekiss님께서 해결해주셨습니다.

하단 스크립트를 추가하니 잘되네요.

감사합니다.

 


function calculate_temp_point()
{
    var sell_price = parseInt($("input[name=od_price]").val());
    var mb_point = parseInt(<?php echo $member['mb_point']; ?>);
    var max_point = parseInt(<?php echo $default['de_settle_max_point']; ?>);
    var point_unit = parseInt(<?php echo $default['de_settle_point_unit']; ?>);
    var temp_point = max_point;
    if(temp_point > sell_price)
        temp_point = sell_price;
    if(temp_point > mb_point)
        temp_point = mb_point;
    if(temp_point > sell_price*0.2)
        temp_point = sell_price*0.2;
    temp_point = parseInt(temp_point / point_unit) * point_unit;
    $("#use_max_point").text(number_format(String(temp_point))+"점");
    $("input[name=max_temp_point]").val(temp_point);
}
답변을 작성하시기 전에 로그인 해주세요.
전체 17,115
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT