채택완료

거듭 질문 죄송합니다) 포인트로만 결제하게 만드려면...

2015-02-12 (목) 01:46:38 4,044
Copy
$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)                    $temp_point = (int)$tot_sell_price;
                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 id="sod_frm_pt"><input type="hidden" name="max_temp_point" value="'.$temp_point.'">결제포인트 : <input type="text" id="od_temp_point" name="od_temp_point" value="0" class="frm_input" size="10">점 ('.$point_unit.'점 단위로 입력하세요.)</div>';                echo '<p id="sod_frm_pt_info">회원님의 보유포인트('.display_point($member['mb_point']).')중 <strong id="use_max_point">'.display_point($temp_point).'</strong>까지 사용 가능합니다.</p>';                $multi_settle++;            }        }
        if ($default['de_bank_use']) {            // 은행계좌를 배열로 만든후            $str = explode("\n", trim($default['de_bank_account']));            if (count($str) <= 1)            {                $bank_account = '<input type="hidden" name="od_bank_account" value="'.$str[0].'">'.$str[0].PHP_EOL;            }            else            {                $bank_account = '<select name="od_bank_account" id="od_bank_account">'.PHP_EOL;                $bank_account .= '<option value="">선택하십시오.</option>';                for ($i=0; $i<count($str); $i++)                {                    //$str[$i] = str_replace("\r", "", $str[$i]);                    $str[$i] = trim($str[$i]);                    $bank_account .= '<option value="'.$str[$i].'">'.$str[$i].'</option>'.PHP_EOL;                }                $bank_account .= '</select>'.PHP_EOL;            }            echo '<div id="settle_bank" style="display:none">';            echo '<label for="od_bank_account" class="sound_only">입금할 계좌</label>';            echo $bank_account;            echo '<br><label for="od_deposit_name">입금자명</label>';            echo '<input type="text" name="od_deposit_name" id="od_deposit_name" class="frm_input" size="10" maxlength="20">';            echo '</div>';        }
        if ($default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use']) {            echo '</div>';        }
        if ($multi_settle == 0)            echo '<p>결제할 방법이 없습니다.<br>운영자에게 알려주시면 감사하겠습니다.</p>';        ?>    </section>

if ($multi_settle == 0)
​일때 포인트 결제만 가능하도록 출력하려면 앞에

   $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)
                    $temp_point = (int)$tot_sell_price;

                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 id="sod_frm_pt"><input type="hidden" name="max_temp_point" value="'.$temp_point.'">결제포인트 : <input type="text" id="od_temp_point" name="od_temp_point" value="0" class="frm_input" size="10">점 ('.$point_unit.'점 단위로 입력하세요.)</div>';
                echo '<p id="sod_frm_pt_info">회원님의 보유포인트('.display_point($member['mb_point']).')중 <strong id="use_max_point">'.display_point($temp_point).'</strong>까지 사용 가능합니다.</p>';
                $multi_settle++;
            }
        }

​

요 부분을 수정해서 붙이면 되는 걸까요?ㅠ

참고로 홈페이지에 대해선 아는게 없이 맨몸박치기 중입니다...

포인트로만 결제를 해야하는데 저 좀 살려주세요 ㅠㅠㅠ

무통장입금에 포인트 결제가 가능하도록 설정시 포인트가 결제 금액보다 적게 입력되거나

아예 입력되지 않아도 주문이 들어옵니다 ..ㅠㅠ

전 포인트가 적거나 없으면 아예 주문이 되지 않도록 하고 싶습니다.

다음달부터 전문과정을 기초부터 들어가는데 정작 지금 당장 필요한 부분이라 제 능력이 미치질 못하네요ㅠㅠㅠ

 
​

|

답변 1개

채택된 답변
+20 포인트

무통장 결제로 하고 포인트 입력하게 해서 하면 됩니다.

구매 금액보다 적은 숫자의 포인트로 결제가 통과하는 문제는 이렇게 해보세요.

/shop/orderform.php 에 보면 하단에 폼 체크하는 부분이 많이 있을겁니다. 

아래 내용과 비슷한 부분이 여러개 있을텐데 중간에 이 내용 그대로 복사해서 추가하세요. 

if (temp_point < od_price) {

    alert("구매 가격보다 적습니다.");

    f.od_temp_point.select();

    return false;

} 

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