결제시 가용포인트를 지정했는데.. 배송지를 입력하면 리셋돼요.
본문
$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);
}
답변을 작성하시기 전에 로그인 해주세요.