포인트 결제시 주문상품의 30%만 사용가능하도록 문의

포인트 결제시 주문상품의 30%만 사용가능하도록 문의

QA

포인트 결제시 주문상품의 30%만 사용가능하도록 문의

답변 1

본문

if (temp_point > 0 && od_price < 20000) {
alert("결제금액이 2만원 이상일때만 포인트 사용이 가능합니다.");
f.od_temp_point.select();
return false;

}

 

결제금액이 2만원 이상일때는 이와 같은 소스를 적용하고 있습니다.

그런데 실제 결제금액의 30%이내만 포인트를 사용하도록 하고 싶은데요.

그럴경우 여기서 소스를 어떻게 추가해야 할까요??

 


<strong>보유포인트 (<?php echo $point_unit; ?>단위 입력)</strong><?php echo display_point($member['mb_point']); ?>
<span class="max_point_box"><strong>최대 사용 가능 포인트</strong><em id="use_max_point"><?php echo display_point($temp_point); ?></em></span>
</div>

 

여기에도 결제사용가능 포인트 항목을 추가해야는데.. 도움 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1

var max_point = od_price * 0.3;

if (temp_point > max_point ) {
alert("결제금액의 최대 30%만 포인트 사용이 가능합니다.");
f.od_temp_point.select();
return false;

}

 

아래 부분은 추가해주세요

                        if($temp_point > (int)($tot_sell_price*0.3))

                            $temp_point = (int)($tot_sell_price*0.3);


                        if($temp_point > (int)$member['mb_point'])
                            $temp_point = (int)$member['mb_point'];
 
                        if($temp_point > (int)($tot_sell_price*0.3))
                            $temp_point = (int)($tot_sell_price*0.3);
 
                        $point_unit = (int)$default['de_settle_point_unit'];
                        $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit);

결제사용가능 포인트 항목에 추가되는 코드 감사드립니다.
그런데 확인을 하니 정확하게 30%가 아니라 천원정도 크게 나오는데 이건 왜 그럴까요?
결제사용가능 포인트(예:36,000)와 다르게 실제 결제할때는 36,000 입력하면 30%이내에서만 결제 가능하다고 하고.. 35,000를 입력해야 결제가 되네요~^^;;

결제단계에서 결제 사용가능포인트가 제대로 나오는데요.
배송지 주소를 입력하면 초기화가 돼서 %적용이 풀리네요.ㅜㅜ
주소를 입력하거나, 주문자와동일을 클릭하거나... 그러면 사용가능포인트가 100%가 나와요.
결제도 되고요...

스크립트 함수에도 추가해야하네요


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.3)
        temp_point = sell_price*0.3;

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 766
© SIRSOFT
현재 페이지 제일 처음으로