결제금액 비율로 10%까지만 포인트 결제가 가능하도록 소스를 수정했는데요
본문
<!-- 포인트정보 입력 시작 { -->
<?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'];
if($temp_point > (int)$tot_sell_price*0.1)
$temp_point = (int)$tot_sell_price*0.1;
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);
?>
<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++;
}
}
?>
<!-- } 포인트정보 입력 끝 -->
이렇게 0.1 비율로 설정을 해줘서 결제시에 포인트 얼마까지 결제된다고 자동입력은 되는데요 그 이상 포인트를 강제로 입력하고 결제하면 되더라구요 10%이상 포인트를 적용시켰을때 어떤 소스를 고쳐야지 결제가 안되는지 방법좀 알려주세요 ㅠ
!-->답변 3
자바스크립트로 포인트 입력값과 결제금액의 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>
대충 이런식으로,,, 해보진 않았습니다.
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*0.1)
temp_point = sell_price*0.1;
if(temp_point > mb_point)
temp_point = mb_point;
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);
}
다들 답변 주셔서 감사합니다
orderform.sub.php
모르는 분들을 위해 정보 남겨놓을게요 하단부에 이소스가 있더라구요 sell_price뒤에 *0.1을 여기도 추가해야 포인트결제가 정상적으로 되는걸 확인했습니다 답은 틀렸지만 위에분 채택 드릴게요^^
!-->