테스트 사이트 - 개발 중인 베타 버전입니다

결제금액 비율로 10%까지만 포인트 결제가 가능하도록 소스를 수정했는데요 채택완료

해피토이 5년 전 조회 5,506

</p>

<p>  <!-- 포인트정보 입력 시작 { -->

        <?php

        $temp_point = 0;

            // 회원이면서 포인트사용이면

            if ($is_member && $config['cf_use_point'])

            {

                // 포인트 결제 사용 포인트보다 회원의 포인트가 크다면

                if ($member['mb_point'] >= $default['de_settle_min_point'])

                {

                    $temp_point = (int)$default['de_settle_max_point'];</p>

<p>                    if($temp_point > (int)$tot_sell_price*0.1)

                        $temp_point = (int)$tot_sell_price*0.1;</p>

<p>                    if($temp_point > (int)$member['mb_point'])

                        $temp_point = (int)$member['mb_point'];</p>

<p>                    $point_unit = (int)$default['de_settle_point_unit'];

                    $temp_point = (int)((int)($temp_point / $point_unit) * $point_unit);

            ?>

            <div id="sod_point">

                <h2>

                    <span class="point_tit">

                        포인트사용

                    <label for="od_temp_point">(<?php echo $point_unit; ?>점 단위)</label>

                    </span>

                    <span class="point_ipt">

                        <input type="hidden" name="max_temp_point" value="<?php echo $temp_point; ?>">

                        <input type="text" name="od_temp_point" value="0" id="od_temp_point" size="7"> 점

                    </span>

                </h2>

                <div id="sod_frm_pt">

                    <strong>보유포인트</strong><span class="my_point_box"><?php echo display_point($member['mb_point']); ?></span>

                    <strong>최대 사용 가능 포인트</strong><span class="max_point_box"><em id="use_max_point"><?php echo display_point($temp_point); ?></em></span>

                </div>

            </div>

            <?php

                $multi_settle++;

                }

            }

        ?></p>

<p>        <!-- } 포인트정보 입력 끝 --></p>

<p>

 

이렇게 0.1 비율로 설정을 해줘서 결제시에 포인트 얼마까지 결제된다고 자동입력은 되는데요 그 이상 포인트를 강제로 입력하고 결제하면 되더라구요 10%이상 포인트를 적용시켰을때 어떤 소스를 고쳐야지 결제가 안되는지 방법좀 알려주세요 ㅠ

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

답변 3개

채택된 답변
+20 포인트
5년 전

자바스크립트로 포인트 입력값과 결제금액의 10% 포인트 값을 비교해서 처리하시면 되지 않을까요?

<input type="text" name="use_point" id="use_point" value="기본값">

 

<script>

$(function(){

$('#use_point').on('change', function() {

var $this = $(this),

     member_point = <?php echo $멤버포인트 ?>,

     max_point = <?php echo $결제금액 10% ?>,

     use_point = $this.val();

if (use_point > member_point) {

alert('보유하신 포인트가 부족합니다.');

return false;

$this.focus();

}

if (use_point > max_point) {

alert('결제금액의 10%만 사용가능합니다.');

return false;

$this.focus();

}

});

});

</script>

 

대충 이런식으로,,, 해보진 않았습니다.

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

답변에 대한 댓글 1개

해피토이
5년 전
이 소스가 어느 위치에 있는지 알려주실수 잇나요? ㅠㅠ

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

해피토이

</p>

<p>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;</p>

<p>    if(temp_point > sell_price*0.1)

        temp_point = sell_price*0.1;</p>

<p>    if(temp_point > mb_point)

        temp_point = mb_point;</p>

<p>    temp_point = parseInt(temp_point / point_unit) * point_unit;</p>

<p>    $("#use_max_point").text(number_format(String(temp_point))+"점");

    $("input[name=max_temp_point]").val(temp_point);

}

다들 답변 주셔서 감사합니다

orderform.sub.php

모르는 분들을 위해 정보 남겨놓을게요 하단부에 이소스가 있더라구요 sell_price뒤에 *0.1을 여기도 추가해야 포인트결제가 정상적으로 되는걸 확인했습니다 답은 틀렸지만 위에분 채택 드릴게요^^

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

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

ifelse
5년 전

https://sir.kr/qa/175315">https://sir.kr/qa/175315 보시면 input 최대값 제어하는 스크립트 관련 답변인데

이거 응용 해보시면 되지 않을까 싶은 짧은 소견입니다.

 

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

답변에 대한 댓글 1개

해피토이
5년 전
보니까 이건 강제적용같아서 ㅠ 주문금액에 10%까지만 포인트가 사용될수 있게끔 해야되서요

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

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

로그인