포인트 적립에 문제

포인트 적립에 문제

QA

포인트 적립에 문제

답변 2

본문

안녕하세요! 포인트 적립에 대해서 문제가 생기면 어디를 봐야할지.. 너무 막막해서 글을 올립니다 일단 shop.lib.php 에서 save_order_point를 사용해야하는건지 궁금하고요 일단 제가 일본어 페이지를 만들고 있어서 이게 적용이 안되는건지 싶기도하고 어디서 만져야 할지 모르겠네요

 


function save_order_point($ct_status="완료") // 원래는 完了 
{
    global $g5, $default;
    $beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
    $sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        // 회원 ID 를 얻는다.
        $od_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
        if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면
            $po_point = $row['ct_point'] * $row['ct_qty'];
            $po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료";
            insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
        }
        
        sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' ");
        if($row['it_id']== 1624499159){
        //회원등급을 변경하는 코드
            //(mb_1 ~  mb_10) 까지를 활용해서 구매한 시간을 넣자 sql_query("insert xxx ");
           //sql_query("insert into {$g5['member_table']} values "
            
            //왜 now()를 사용했는데 9시간정도 차이가 나는지 모르겠다
           sql_query("update {$g5['member_table']} set mb_level = '5' , mb_10 = DATE_ADD(now(), INTERVAL 9 HOUR) where mb_id = '{$row['mb_id']}' ");
         
          
          
        }
    }
}

그리고 원래는 kcp를 사용하다가.. eximbay로 결제모듈을 옮기면서 안되는것들이 많아서 수정을 조금했는데 완전 문제가 많은거 같더라고요 어디서 부터 일단 고쳐야할지.. 막막 하기도 합니다

 

orderform.sub.php 에서 일단은 문제가 있는거 같아서 이렇게 올려보는데요 개인적으로 왜? kcp orderform.sub.php 에서는 그냥 해도 되는데 eximbay꺼는 multi_settle++ 을 또 추가해주어야 하는지 그래야 돌아가는지 모르겠고요 적립은 왜 안될까요.. 어디서 부터 문제일까요..

 

도와주시면 너무 감사할거 같습니다.. 조언을 구합니다

 

orderform.sub.php


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
require_once(G5_SHOP_PATH.'/settle_'.$default['de_pg_service'].'.inc.php');
require_once(G5_SHOP_PATH.'/settle_kakaopay.inc.php');
// wetoz : eximbay
if ($default['de_eximbay_use']) { 
    require_once(G5_SHOP_PATH.'/settle_eximbay.inc.php');
} 
if( $default['de_inicis_lpay_use'] ){   //이니시스 Lpay 사용시
    require_once(G5_SHOP_PATH.'/inicis/lpay_common.php');
}
// 결제대행사별 코드 include (스크립트 등)
require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.1.php');
if( $default['de_inicis_lpay_use'] ){   //이니시스 L.pay 사용시
    require_once(G5_SHOP_PATH.'/inicis/lpay_form.1.php');
}
if($is_kakaopay_use) {
    require_once(G5_SHOP_PATH.'/kakaopay/orderform.1.php');
}
?>
<form name="forderform" id="forderform" method="post" action="<?php echo $order_action_url; ?>" autocomplete="off">
<div id="sod_frm">
    <!-- 주문상품 확인 시작 { -->
    <div class="tbl_head03 tbl_wrap od_prd_list">
        <table id="sod_list">
        <thead>
        <tr>
            <th scope="col">商品名</th>
            <th scope="col">販売価</th>
           <!-- <th scope="col">판매가</th> -->
            <th scope="col">小計</th>
            <th scope="col">ポイント</th>
            <!--<th scope="col">배송비</th>-->
        </tr>
        </thead>
        <tbody>
        <?php
        $tot_point = 0;
        $tot_sell_price = 0;
        $goods = $goods_it_id = "";
        $goods_count = -1;
        // $s_cart_id 로 현재 장바구니 자료 쿼리
        $sql = " select a.ct_id,
                        a.it_id,
                        a.it_name,
                        a.ct_price,
                        a.ct_point,
                        a.ct_qty,
                        a.ct_status,
                        a.ct_send_cost,
                        a.it_sc_type,
                        b.ca_id,
                        b.ca_id2,
                        b.ca_id3,
                        b.it_notax
                   from {$g5['g5_shop_cart_table']} a left join {$g5['g5_shop_item_table']} b on ( a.it_id = b.it_id )
                  where a.od_id = '$s_cart_id'
                    and a.ct_select = '1' ";
        $sql .= " group by a.it_id ";
        $sql .= " order by a.ct_id ";
        $result = sql_query($sql);
        $good_info = '';
        $it_send_cost = 0;
        $it_cp_count = 0;
        $comm_tax_mny = 0; // 과세금액
        $comm_vat_mny = 0; // 부가세
        $comm_free_mny = 0; // 면세금액
        $tot_tax_mny = 0;
        $point_flag=true;
        for ($i=0; $row=sql_fetch_array($result); $i++)
        {
            // 합계금액 계산
            $sql = " select SUM(IF(io_type = 1, (io_price * ct_qty), ((ct_price + io_price) * ct_qty))) as price,
                            SUM(ct_point * ct_qty) as point,
                            SUM(ct_qty) as qty
                        from {$g5['g5_shop_cart_table']}
                        where it_id = '{$row['it_id']}'
                          and od_id = '$s_cart_id' ";
            $sum = sql_fetch($sql);
            if (!$goods)
            {
                //$goods = addslashes($row[it_name]);
                //$goods = get_text($row[it_name]);
                $goods = preg_replace("/\'|\"|\||\,|\&|\;/", "", $row['it_name']);
                $goods_it_id = $row['it_id'];
            }
            $goods_count++;
            // 에스크로 상품정보
            if($default['de_escrow_use']) {
                if ($i>0)
                    $good_info .= chr(30);
                $good_info .= "seq=".($i+1).chr(31);
                $good_info .= "ordr_numb={$od_id}_".sprintf("%04d", $i).chr(31);
                $good_info .= "good_name=".addslashes($row['it_name']).chr(31);
                $good_info .= "good_cntx=".$row['ct_qty'].chr(31);
                $good_info .= "good_amtx=".$row['ct_price'].chr(31);
            }
            $image = get_it_image($row['it_id'], 80, 80);
            $it_name = '<b>' . stripslashes($row['it_name']) . '</b>';
            $it_options = print_item_options($row['it_id'], $s_cart_id);
            if($it_options) {
                $it_name .= '<div class="sod_opt">'.$it_options.'</div>';
            }
            // 복합과세금액
            if($default['de_tax_flag_use']) {
                if($row['it_notax']) {
                    $comm_free_mny += $sum['price'];
                } else {
                    $tot_tax_mny += $sum['price'];
                }
            }
            $point      = $sum['point'];
            $sell_price = $sum['price'];
            // 쿠폰
            if($is_member) {
                $cp_button = '';
                $cp_count = 0;
                $sql = " select cp_id
                            from {$g5['g5_shop_coupon_table']}
                            where mb_id IN ( '{$member['mb_id']}', '全会員' )
                              and cp_start <= '".G5_TIME_YMD."'
                              and cp_end >= '".G5_TIME_YMD."'
                              and cp_minimum <= '$sell_price'
                              and (
                                    ( cp_method = '0' and cp_target = '{$row['it_id']}' )
                                    OR
                                    ( cp_method = '1' and ( cp_target IN ( '{$row['ca_id']}', '{$row['ca_id2']}', '{$row['ca_id3']}' ) ) )
                                  ) ";
                $res = sql_query($sql);
                for($k=0; $cp=sql_fetch_array($res); $k++) {
                    if(is_used_coupon($member['mb_id'], $cp['cp_id']))
                        continue;
                    $cp_count++;
                }
                if($cp_count) {
                    $cp_button = '<button type="button" class="cp_btn">쿠폰적용</button>';
                    $it_cp_count++;
                }
            }
            // 배송비 여기 밑부터 삭제
          /*  switch($row['ct_send_cost'])
            {
                case 1:
                    $ct_send_cost = '착불';
                    break;
                case 2:
                    $ct_send_cost = '무료';
                    break;
                default:
                    $ct_send_cost = '선불';
                    break;
            }*/
            // 조건부무료
           /*if($row['it_sc_type'] == 2) {
                $sendcost = get_item_sendcost($row['it_id'], $sum['price'], $sum['qty'], $s_cart_id);
                if($sendcost == 0)
                    $ct_send_cost = '무료';
            }*/
        ?>
        <tr>
            <td class="td_prd">
                <div class="sod_img"><?php echo $image; ?></div>
                <div class="sod_name">
                    <input type="hidden" name="it_id[<?php echo $i; ?>]"    value="<?php echo $row['it_id']; ?>">
                    <input type="hidden" name="it_name[<?php echo $i; ?>]"  value="<?php echo get_text($row['it_name']); ?>">
                    <input type="hidden" name="it_price[<?php echo $i; ?>]" value="<?php echo $sell_price; ?>">
                    <input type="hidden" name="cp_id[<?php echo $i; ?>]" value="">
                    <input type="hidden" name="cp_price[<?php echo $i; ?>]" value="0">
                    <?php if($default['de_tax_flag_use']) { ?>
                    <input type="hidden" name="it_notax[<?php echo $i; ?>]" value="<?php echo $row['it_notax']; ?>">
                    <?php } ?>
                    <?php echo $it_name; ?>
                    <?php echo $cp_button; ?>
                 </div>
            </td>
           <!--  <td class="td_num"><?php echo number_format($sum['qty']); ?></td>-->
          <td class="td_numbig  text_right"><?php echo number_format($row['ct_price']); ?></td>
           <td class="td_numbig  text_right"><span class="total_price"><?php echo number_format($sell_price); ?></span></td>
           <td class="td_numbig  text_right"><?php echo number_format($point); ?></td>
          <!-- <td class="td_dvr"><?php echo $ct_send_cost; ?></td>-->
        </tr>
        <?php
            $tot_point      += $point;
            $tot_sell_price += $sell_price;
        } // for 끝
        if ($i == 0) {
            //echo '<tr><td colspan="7" class="empty_table">장바구니에 담긴 상품이 없습니다.</td></tr>';
            alert('カートが空いています.', G5_SHOP_URL.'/cart.php');
        } else {
            // 배송비 계산
            $send_cost = get_sendcost($s_cart_id);
        }
        // 복합과세처리
        if($default['de_tax_flag_use']) {
            $comm_tax_mny = round(($tot_tax_mny + $send_cost) / 1.1);
            $comm_vat_mny = ($tot_tax_mny + $send_cost) - $comm_tax_mny;
        }
        ?>
        </tbody>
        </table>
    </div>
    <?php if ($goods_count) $goods .= ' 他 '.$goods_count.'件'; ?>
    <!-- } 주문상품 확인 끝 -->
    <div class="sod_left">
        <input type="hidden" name="od_price"    value="<?php echo $tot_sell_price; ?>">
        <input type="hidden" name="org_od_price"    value="<?php echo $tot_sell_price; ?>">
        <input type="hidden" name="od_send_cost" value="<?php echo $send_cost; ?>">
        <input type="hidden" name="od_send_cost2" value="0">
        <input type="hidden" name="item_coupon" value="0">
        <input type="hidden" name="od_coupon" value="0">
        <input type="hidden" name="od_send_coupon" value="0">
        <input type="hidden" name="od_goods_name" value="<?php echo $goods; ?>">
        <?php
        // 결제대행사별 코드 include (결제대행사 정보 필드)
        require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.2.php');
        if($is_kakaopay_use) {
            require_once(G5_SHOP_PATH.'/kakaopay/orderform.2.php');
        }
        ?>
        <!-- 주문하시는 분 입력 시작 { -->
        <section id="sod_frm_orderer">
            <h2>ご注文の方</h2>
            <div class="tbl_frm01 tbl_wrap">
                <table>
                <tbody>
                <tr>
                    <th scope="row"><label for="od_name">名前<strong class="sound_only"> 必須</strong></label></th>
                    <td><input type="text" name="od_name" value="<?php echo get_text($member['mb_name']); ?>" id="od_name" required class="frm_input required" maxlength="20"></td>
                </tr>
                <?php if (!$is_member) { // 비회원이면 ?>
                <tr>
                    <th scope="row"><label for="od_pwd">パスワード</label></th>
                    <td>
                        <span class="frm_info">英·数字3~20字(注文書照会時に必要)</span>
                        <input type="password" name="od_pwd" id="od_pwd" required class="frm_input required" maxlength="20">
                        
                    </td>
                </tr>
                <?php } ?>
                <!--<tr>
                    <th scope="row"><label for="od_tel">전화번호<strong class="sound_only"> 필수</strong></label></th>
                    <td><input type="text" name="od_tel" value="<?php echo get_text($member['mb_tel']); ?>" id="od_tel" required class="frm_input required" maxlength="20"></td>
                </tr>
                <tr>
                    <th scope="row"><label for="od_hp">핸드폰</label></th>
                    <td><input type="text" name="od_hp" value="<?php echo get_text($member['mb_hp']); ?>" id="od_hp" class="frm_input" maxlength="20"></td>
                </tr>
                <tr>
                    <th scope="row">주소</th>
                    <td>
                        <label for="od_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label>
                        <input type="text" name="od_zip" value="<?php echo $member['mb_zip1'].$member['mb_zip2']; ?>" id="od_zip" required class="frm_input required" size="8" maxlength="6" placeholder="우편번호">
                        <button type="button" class="btn_address" onclick="win_zip('forderform', 'od_zip', 'od_addr1', 'od_addr2', 'od_addr3', 'od_addr_jibeon');">주소 검색</button><br>
                        <input type="text" name="od_addr1" value="<?php echo get_text($member['mb_addr1']) ?>" id="od_addr1" required class="frm_input frm_address required" size="60" placeholder="기본주소">
                        <label for="od_addr1" class="sound_only">기본주소<strong class="sound_only"> 필수</strong></label><br>
                        <input type="text" name="od_addr2" value="<?php echo get_text($member['mb_addr2']) ?>" id="od_addr2" class="frm_input frm_address" size="60" placeholder="상세주소">
                        <label for="od_addr2" class="sound_only">상세주소</label>
                        <br>
                        <input type="text" name="od_addr3" value="<?php echo get_text($member['mb_addr3']) ?>" id="od_addr3" class="frm_input frm_address" size="60" readonly="readonly" placeholder="참고항목">
                        <label for="od_addr3" class="sound_only">참고항목</label><br>
                        <input type="hidden" name="od_addr_jibeon" value="<?php echo get_text($member['mb_addr_jibeon']); ?>">
                    </td>
                </tr>-->
                <tr>
                    <th scope="row"><label for="od_email">E-mail<strong class="sound_only"> 必須</strong></label></th>
                    <td><input type="text" name="od_email" value="<?php echo $member['mb_email']; ?>" id="od_email" required class="frm_input required" size="35" maxlength="100"></td>
                </tr>
                <?php if ($default['de_hope_date_use']) { // 배송희망일 사용 ?>
                <tr>
                    <th scope="row"><label for="od_hope_date">希望配送日</label></th>
                    <td>
                        <!-- <select name="od_hope_date" id="od_hope_date">
                        <option value="">선택하십시오.</option>
                        <?php
                        for ($i=0; $i<7; $i++) {
                            $sdate = date("Y-m-d", time()+86400*($default['de_hope_date_after']+$i));
                            echo '<option value="'.$sdate.'">'.$sdate.' ('.get_yoil($sdate).')</option>'.PHP_EOL;
                        }
                        ?>
                        </select> -->
                        <input type="text" name="od_hope_date" value="" id="od_hope_date" required class="frm_input required" size="11" maxlength="10" readonly="readonly">  以後配送お願い致します。
                    </td>
                </tr>
                <?php } ?>
                </tbody>
                </table>
            </div>
        </section>
        <!-- } 주문하시는 분 입력 끝 -->
        <!-- 받으시는 분 입력 시작 { -->
        <!--<section id="sod_frm_taker">
            <h2>받으시는 분</h2>
            <div class="tbl_frm01 tbl_wrap">
                <table>
                <tbody>
                <?php
                if($is_member) {
                    // 배송지 이력
                    $addr_list = '';
                    $sep = chr(30);
                    // 주문자와 동일
                    $addr_list .= '<input type="radio" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL;
                    $addr_list .= '<label for="ad_sel_addr_same">주문자와 동일</label>'.PHP_EOL;
                    // 기본배송지
                    $sql = " select *
                                from {$g5['g5_shop_order_address_table']}
                                where mb_id = '{$member['mb_id']}'
                                  and ad_default = '1' ";
                    $row = sql_fetch($sql);
                    if($row['ad_id']) {
                        $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
                        $addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_def">'.PHP_EOL;
                        $addr_list .= '<label for="ad_sel_addr_def">기본배송지</label>'.PHP_EOL;
                    }
                    // 최근배송지
                    $sql = " select *
                                from {$g5['g5_shop_order_address_table']}
                                where mb_id = '{$member['mb_id']}'
                                  and ad_default = '0'
                                order by ad_id desc
                                limit 1 ";
                    $result = sql_query($sql);
                    for($i=0; $row=sql_fetch_array($result); $i++) {
                        $val1 = $row['ad_name'].$sep.$row['ad_tel'].$sep.$row['ad_hp'].$sep.$row['ad_zip1'].$sep.$row['ad_zip2'].$sep.$row['ad_addr1'].$sep.$row['ad_addr2'].$sep.$row['ad_addr3'].$sep.$row['ad_jibeon'].$sep.$row['ad_subject'];
                        $val2 = '<label for="ad_sel_addr_'.($i+1).'">최근배송지('.($row['ad_subject'] ? $row['ad_subject'] : $row['ad_name']).')</label>';
                        $addr_list .= '<input type="radio" name="ad_sel_addr" value="'.get_text($val1).'" id="ad_sel_addr_'.($i+1).'"> '.PHP_EOL.$val2.PHP_EOL;
                    }
                    $addr_list .= '<input type="radio" name="ad_sel_addr" value="new" id="od_sel_addr_new">'.PHP_EOL;
                    $addr_list .= '<label for="od_sel_addr_new">신규배송지</label>'.PHP_EOL;
                    $addr_list .='<a href="'.G5_SHOP_URL.'/orderaddress.php" id="order_address" class="btn_frmline">배송지목록</a>';
                } else {
                    // 주문자와 동일
                    $addr_list .= '<input type="checkbox" name="ad_sel_addr" value="same" id="ad_sel_addr_same">'.PHP_EOL;
                    $addr_list .= '<label for="ad_sel_addr_same">주문자와 동일</label>'.PHP_EOL;
                }
                ?>
                <tr>
                    <th scope="row">배송지선택</th>
                    <td>
                        <?php echo $addr_list; ?>
                    </td>
                </tr>
                <?php if($is_member) { ?>
                <tr>
                    <th scope="row"><label for="ad_subject">배송지명</label></th>
                    <td>
                        <input type="text" name="ad_subject" id="ad_subject" class="frm_input" maxlength="20">
                        <input type="checkbox" name="ad_default" id="ad_default" value="1">
                        <label for="ad_default">기본배송지로 설정</label>
                    </td>
                </tr>
                <?php } ?>
                <tr>
                    <th scope="row"><label for="od_b_name">이름<strong class="sound_only"> 필수</strong></label></th>
                    <td><input type="text" name="od_b_name" id="od_b_name" required class="frm_input required" maxlength="20"></td>
                </tr>
                <tr>
                    <th scope="row"><label for="od_b_tel">전화번호<strong class="sound_only"> 필수</strong></label></th>
                    <td><input type="text" name="od_b_tel" id="od_b_tel" required class="frm_input required" maxlength="20"></td>
                </tr>
                <tr>
                    <th scope="row"><label for="od_b_hp">핸드폰</label></th>
                    <td><input type="text" name="od_b_hp" id="od_b_hp" class="frm_input" maxlength="20"></td>
                </tr>
                <tr>
                    <th scope="row">주소</th>
                    <td id="sod_frm_addr">
                        <label for="od_b_zip" class="sound_only">우편번호<strong class="sound_only"> 필수</strong></label>
                        <input type="text" name="od_b_zip" id="od_b_zip" required class="frm_input required" size="8" maxlength="6" placeholder="우편번호">
                        <button type="button" class="btn_address" onclick="win_zip('forderform', 'od_b_zip', 'od_b_addr1', 'od_b_addr2', 'od_b_addr3', 'od_b_addr_jibeon');">주소 검색</button><br>
                        <input type="text" name="od_b_addr1" id="od_b_addr1" required class="frm_input frm_address required" size="60" placeholder="기본주소">
                        <label for="od_b_addr1" class="sound_only">기본주소<strong> 필수</strong></label><br>
                        <input type="text" name="od_b_addr2" id="od_b_addr2" class="frm_input frm_address" size="60" placeholder="상세주소">
                        <label for="od_b_addr2" class="sound_only">상세주소</label>
                        <br>
                        <input type="text" name="od_b_addr3" id="od_b_addr3" readonly="readonly" class="frm_input frm_address" size="60" placeholder="참고항목">
                        <label for="od_b_addr3" class="sound_only">참고항목</label><br>
                        <input type="hidden" name="od_b_addr_jibeon" value="">
                    </td>
                </tr>
                <tr>
                    <th scope="row"><label for="od_memo">전하실말씀</label></th>
                    <td><textarea name="od_memo" id="od_memo"></textarea></td>
                </tr>
                </tbody>
                </table>
            </div>
        </section> -->
        <!-- } 받으시는 분 입력 끝 -->
    </div>
    <div class="sod_right">
        <!-- 주문상품 합계 시작 { -->
        <div id="sod_bsk_tot">
            <ul>
                <li class="sod_bsk_sell">
                    <span>注文</span>
                    <strong><?php echo number_format($tot_sell_price); ?></strong>USD
                </li>
                <li class="sod_bsk_coupon">
                    <span>クーポン割引</span>
                    <strong id="ct_tot_coupon">0</strong>USD
                </li>
                
                <li class="sod_bsk_point">
                    <span>ポイント</span>
                    <strong><?php echo number_format($tot_point); ?></strong>点
                </li>
               <li class="sod_bsk_cnt">
                    <span>総計</span>
                    <?php $tot_price = $tot_sell_price + $send_cost; // 총계 = 주문상품금액합계 + 배송비 ?>
                    <strong id="ct_tot_price"><?php echo number_format($tot_price); ?></strong>USD
                </li>
            </ul>
        </div>
        <!-- } 주문상품 합계 끝 -->

        <!-- 결제정보 입력 시작 { -->
        <?php
        $oc_cnt = $sc_cnt = 0;
        if($is_member) {
            // 주문쿠폰
            $sql = " select cp_id
                        from {$g5['g5_shop_coupon_table']}
                        where mb_id IN ( '{$member['mb_id']}', '全会員' )
                          and cp_method = '2'
                          and cp_start <= '".G5_TIME_YMD."'
                          and cp_end >= '".G5_TIME_YMD."'
                          and cp_minimum <= '$tot_sell_price' ";
            $res = sql_query($sql);
            for($k=0; $cp=sql_fetch_array($res); $k++) {
                if(is_used_coupon($member['mb_id'], $cp['cp_id']))
                    continue;
                $oc_cnt++;
            }
            if($send_cost > 0) {
                // 배송비쿠폰
                $sql = " select cp_id
                            from {$g5['g5_shop_coupon_table']}
                            where mb_id IN ( '{$member['mb_id']}', '全会員' )
                              and cp_method = '3'
                              and cp_start <= '".G5_TIME_YMD."'
                              and cp_end >= '".G5_TIME_YMD."'
                              and cp_minimum <= '$tot_sell_price' ";
                $res = sql_query($sql);
                for($k=0; $cp=sql_fetch_array($res); $k++) {
                    if(is_used_coupon($member['mb_id'], $cp['cp_id']))
                        continue;
                    $sc_cnt++;
                }
            }
        }
        ?>
        <section id="sod_frm_pay">
            <h2>お支払い情報</h2>
            <div class="pay_tbl">
                <table>
                <tbody>
                <?php if($oc_cnt > 0) { ?>
                <tr>
                    <th scope="row">注文割引</th>
                    <td>
                        <strong id="od_cp_price">0</strong>USD
                        <input type="hidden" name="od_cp_id" value="">
                        <button type="button" id="od_coupon_btn" class="btn_frmline">クーポンの適用</button>
                    </td>
                </tr>
                <?php } ?>
                <?php if($sc_cnt > 0) { ?>
                <tr>
                    <th scope="row">配送費割引</th>
                    <td>
                        <strong id="sc_cp_price">0</strong>USD
                        <input type="hidden" name="sc_cp_id" value="">
                        <button type="button" id="sc_coupon_btn" class="btn_frmline">クーポンの適用</button>
                    </td>
                </tr>
                <?php } ?>
                <tr>
                    <th>追加配送費</th>
                    <td><strong id="od_send_cost2">0</strong>USD<br>(地域によって追加される導線料などの送料です。)</td>
                </tr>
                </tbody>
                </table>
            </div>
            <div id="od_tot_price">
                <span>全注文金額</span>
                <strong><?php echo number_format($tot_price); ?></strong>USD
            </div>
            <div id="od_pay_sl">
                <h3>決済手段</h3>
                <?php
                if (!$default['de_card_point'])
                    echo '<p id="sod_frm_pt_alert"><strong>銀行振込入金</strong> 以外の決済手段でお支払いいただく場合、ポイントを貯められません。</p>';
                $multi_settle == 0;
                $checked = '';
                $escrow_title = "";
                if ($default['de_escrow_use']) {
                    $escrow_title = "에스크로<br>";
                }
                if ($is_kakaopay_use || $default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use'] || $default['de_inicis_lpay_use']) {
                    echo '<fieldset id="sod_frm_paysel">';
                    echo '<legend>決済方法を選択</legend>';
                }
                // 카카오페이
                if($is_kakaopay_use) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_kakaopay" name="od_settle_case" value="KAKAOPAY" '.$checked.'> <label for="od_settle_kakaopay" class="kakaopay_icon lb_icon">KAKAOPAY</label>'.PHP_EOL;
                    $checked = '';
                }
                // 무통장입금 사용
                if ($default['de_bank_use']) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_bank" name="od_settle_case" value="銀行振込" '.$checked.'> <label for="od_settle_bank" class="lb_icon bank_icon">銀行振込入金</label>'.PHP_EOL;
                    $checked = '';
                }
                // 가상계좌 사용
                if ($default['de_vbank_use']) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_vbank" name="od_settle_case" value="가상계좌" '.$checked.'> <label for="od_settle_vbank" class="lb_icon vbank_icon">'.$escrow_title.'仮想口座</label>'.PHP_EOL;
                    $checked = '';
                }
 
         

이 질문에 댓글 쓰기 :

답변 2

포인트 적립에 대해서 문제가 생기면 어디를 봐야할지..

==

무슨문제가 생겼나요?

마음이 급해서 제가 코드를 몽땅 올려 놔서.. 제대로 된 답을 얻을수 없을거라고 생각했습니다 하지만 이렇게 답변을 주셔서 정말 감사합니다

흐름도가 원래 "주문"-> "입금" -> "배송" -> "배송완료" -> "완료" 이런 형식 이잖아요? 근데 테스트를 하면서 고급 개발자님이 수정을 해주셨는데 입금 과정에 완료가 되는것 처럼 만들어두셨습니다 때문에 그래서 입금이 되었을때 포인트가 올라가는것이 아닌 관리자 페이지에서 주문내역에서 완료를 눌러줘야 포인트가 올라가는 식으로 진행되는 거 같은데요

제가 궁금했던것은

첫번째 이렇게 입금을 완료로 변경해도 괜찮은건가요? 당연히 괜찮지 않다면 어떻게 수정하는것이 올바른건가요?

두번째는 입금 처리가 되었을때 포인트가 적립되게 만드는 방법이 있을까요? 현재는 관리자 페이지에서 주문내역에서 그 상품페이지의 완료로 수정을 해줘야 되는건데 이렇게 두가지 입니다

pg사를 연결하면 어쩌면 다 해결되는건지.. 제가 처음 개발이라서 너무 미숙하네요 다시 한번 감사드립니다


 // 계좌이체 사용
                if ($default['de_iche_use']) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_iche" name="od_settle_case" value="계좌이체" '.$checked.'> <label for="od_settle_iche" class="lb_icon iche_icon">'.$escrow_title.'口座振替</label>'.PHP_EOL;
                    $checked = '';
                }
                // 휴대폰 사용
                if ($default['de_hp_use']) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_hp" name="od_settle_case" value="携帯電話" '.$checked.'> <label for="od_settle_hp" class="lb_icon hp_icon">携帯電話</label>'.PHP_EOL;
                    $checked = '';
                }
                // 신용카드 사용
                if ($default['de_card_use']) {
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_card" name="od_settle_case" value="クレジットカード" '.$checked.'> <label for="od_settle_card" class="lb_icon card_icon">クレジットカード</label>'.PHP_EOL;
                    $checked = '';
                }
                // wetoz : eximbay
                if ($default['de_eximbay_use']) { 
                    
                    ?>
                    <style>
                        #sod_frm_paysel .paypal_icon {background: url('./eximbay/img/pay_icon12.png') no-repeat 17px 50% #fff;}
                        #sod_frm_paysel .alipay_icon {background: url('./eximbay/img/pay_icon11.png') no-repeat 17px 50% #fff;}
                        #sod_frm_paysel .wechat_icon {background: url('./eximbay/img/pay_icon10.png') no-repeat 17px 50% #fff;}
                    </style>
                    <?php
                    require_once(G5_SHOP_PATH.'/eximbay/orderform.enc.php');
                    $de_eximbay_pay = unserialize($default['de_eximbay_pay']);
                    if (is_array($de_eximbay_pay)) { 
                        $z = 0;
                        foreach ($de_eximbay_pay as $k) {
                            $pay_name = payment_type($k);
                            $pay_class = 'card_icon';
                            if (strtolower($pay_name) == 'paypal') { 
                                $pay_class = 'paypal_icon';
                            } 
                            else if (strtolower($pay_name) == 'alipay') { 
                                $pay_class = 'alipay_icon';
                            } 
                            else if (strtolower($pay_name) == 'wechat') { 
                                $pay_class = 'wechat_icon';
                            } 
                            echo '<input type="radio" id="od_settle_eximbay'.$z.'" name="od_settle_case" value="'.$k.'" class="od_settle_eximbay" data-eximbay="1"> <label for="od_settle_eximbay'.$z.'" class="lb_icon '.$pay_class.'">'.$pay_name.'</label>'.PHP_EOL;
                            $z++;
                        }
                        $checked = '';
                    }
                }
                // PG 간편결제
                if($default['de_easy_pay_use']) {
                    switch($default['de_pg_service']) {
                        case 'lg':
                            $pg_easy_pay_name = 'PAYNOW';
                            break;
                        case 'inicis':
                            $pg_easy_pay_name = 'KPAY';
                            break;
                        default:
                            $pg_easy_pay_name = 'PAYCO';
                            break;
                    }
                    $multi_settle++;
                    echo '<input type="radio" id="od_settle_easy_pay" name="od_settle_case" value="간편결제" '.$checked.'> <label for="od_settle_easy_pay" class="'.$pg_easy_pay_name.' lb_icon">'.$pg_easy_pay_name.'</label>'.PHP_EOL;
                    $checked = '';
                }
                //이니시스 Lpay
                if($default['de_inicis_lpay_use']) {
                    echo '<input type="radio" id="od_settle_inicislpay" data-case="lpay" name="od_settle_case" value="lpay" '.$checked.'> <label for="od_settle_inicislpay" class="inicis_lpay lb_icon">L.pay</label>'.PHP_EOL;
                    $checked = '';
                }
                $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);
                ?>
             <div class="sod_frm_point">
                    <?php
                         if($tot_point> 9){
                            $point_flag =false;
                         } else {
                            $point_flag =true;
                         }
                        
                        if($point_flag){
                    
                    ?>
                        
                    <div>
                        <label for="od_temp_point">使用ポイント(<?php echo $point_unit; ?>点単位)</label>
                        <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"> 点
                    </div>
                    <div id="sod_frm_pt">
                        <span><strong>保有ポイント</strong><?php echo display_point($member['mb_point']); ?></span>
                        <span class="max_point_box"><strong>最大使用可能ポイント</strong><em id="use_max_point"><?php echo display_point($temp_point); ?></em></span>
                    </div>
                    
                    
                    <?php }else {?>
                    <div>
                        <label for="od_temp_point">ポイントを使用することができません</label>
                        <input type="hidden" name="max_temp_point" value="<?php echo $temp_point; ?>">
                        <input type="hidden" name="od_temp_point" value="0" id="od_temp_point"  size="7">
                    </div>
                    <div id="sod_frm_pt">
                        <span><strong>保有ポイント</strong><?php echo display_point($member['mb_point']); ?></span>
                        <span class="max_point_box"></span>
                    </div>
                    <?php 
                    
                    }?>

                </div>
                <?php
                    $multi_settle++;
                    }else{ 
                    ?>
                        
                      <input type="hidden" name="od_temp_point" value="0" id="od_temp_point"  >  
                    <?
                         
                    }
                }
                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" size="10" maxlength="20">';
                    echo '</div>';
                }
                if ($is_kakaopay_use || $default['de_bank_use'] || $default['de_vbank_use'] || $default['de_iche_use'] || $default['de_card_use'] || $default['de_hp_use'] || $default['de_easy_pay_use'] || $default['de_inicis_lpay_use'] ) {
                    echo '</fieldset>';
                }
                if ($multi_settle == 0)
                    echo '<p>決済する方法がありません。<br>オペレータに通知いただければ幸いです。</p>';
                ?>
            </div>
        </section>
        <!-- } 결제 정보 입력 끝 -->
        <?php
        // 결제대행사별 코드 include (주문버튼)
        require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.3.php');
        if($is_kakaopay_use) {
            require_once(G5_SHOP_PATH.'/kakaopay/orderform.3.php');
        }
        ?>
        <?php
        if ($default['de_escrow_use']) {
            // 결제대행사별 코드 include (에스크로 안내)
            require_once(G5_SHOP_PATH.'/'.$default['de_pg_service'].'/orderform.4.php');
        }
        ?>
    </div>
</div>
</form>
<?php
if( $default['de_inicis_lpay_use'] ){   //이니시스 L.pay 사용시
    require_once(G5_SHOP_PATH.'/inicis/lpay_order.script.php');
}
?>
<script>
var zipcode = "";
var form_action_url = "<?php echo $order_action_url; ?>";
$(function() {
    var $cp_btn_el;
    var $cp_row_el;
    $(".cp_btn").click(function() {
        $cp_btn_el = $(this);
        $cp_row_el = $(this).closest("tr");
        $("#cp_frm").remove();
        var it_id = $cp_btn_el.closest("tr").find("input[name^=it_id]").val();
        $.post(
            "./orderitemcoupon.php",
            { it_id: it_id,  sw_direct: "<?php echo $sw_direct; ?>" },
            function(data) {
                $cp_btn_el.after(data);
            }
        );
    });
    $(document).on("click", ".cp_apply", function() {
        var $el = $(this).closest("tr");
        var cp_id = $el.find("input[name='f_cp_id[]']").val();
        var price = $el.find("input[name='f_cp_prc[]']").val();
        var subj = $el.find("input[name='f_cp_subj[]']").val();
        var sell_price;
        if(parseInt(price) == 0) {
            if(!confirm(subj+"쿠폰의 할인 금액은 "+price+"원입니다.\n쿠폰을 적용하시겠습니까?")) {
                return false;
            }
        }
        // 이미 사용한 쿠폰이 있는지
        var cp_dup = false;
        var cp_dup_idx;
        var $cp_dup_el;
        $("input[name^=cp_id]").each(function(index) {
            var id = $(this).val();
            if(id == cp_id) {
                cp_dup_idx = index;
                cp_dup = true;
                $cp_dup_el = $(this).closest("tr");;
                return false;
            }
        });
        if(cp_dup) {
            var it_name = $("input[name='it_name["+cp_dup_idx+"]']").val();
            if(!confirm(subj+ "쿠폰은 "+it_name+"에 사용되었습니다.\n"+it_name+"의 쿠폰을 취소한 후 적용하시겠습니까?")) {
                return false;
            } else {
                coupon_cancel($cp_dup_el);
                $("#cp_frm").remove();
                $cp_dup_el.find(".cp_btn").text("적용").focus();
                $cp_dup_el.find(".cp_cancel").remove();
            }
        }
        var $s_el = $cp_row_el.find(".total_price");;
        sell_price = parseInt($cp_row_el.find("input[name^=it_price]").val());
        sell_price = sell_price - parseInt(price);
        if(sell_price < 0) {
            alert("쿠폰할인금액이 상품 주문금액보다 크므로 쿠폰을 적용할 수 없습니다.");
            return false;
        }
        $s_el.text(number_format(String(sell_price)));
        $cp_row_el.find("input[name^=cp_id]").val(cp_id);
        $cp_row_el.find("input[name^=cp_price]").val(price);
        calculate_total_price();
        $("#cp_frm").remove();
        $cp_btn_el.text("변경").focus();
        if(!$cp_row_el.find(".cp_cancel").size())
            $cp_btn_el.after("<button type=\"button\" class=\"cp_cancel\">취소</button>");
    });
    $(document).on("click", "#cp_close", function() {
        $("#cp_frm").remove();
        $cp_btn_el.focus();
    });
    $(document).on("click", ".cp_cancel", function() {
        coupon_cancel($(this).closest("tr"));
        calculate_total_price();
        $("#cp_frm").remove();
        $(this).closest("tr").find(".cp_btn").text("적용").focus();
        $(this).remove();
    });
    $("#od_coupon_btn").click(function() {
        $("#od_coupon_frm").remove();
        var $this = $(this);
        var price = parseInt($("input[name=org_od_price]").val()) - parseInt($("input[name=item_coupon]").val());
        if(price <= 0) {
            alert('상품금액이 0원이므로 쿠폰을 사용할 수 없습니다.');
            return false;
        }
        $.post(
            "./ordercoupon.php",
            { price: price },
            function(data) {
                $this.after(data);
            }
        );
    });
    $(document).on("click", ".od_cp_apply", function() {
        var $el = $(this).closest("tr");
        var cp_id = $el.find("input[name='o_cp_id[]']").val();
        var price = parseInt($el.find("input[name='o_cp_prc[]']").val());
        var subj = $el.find("input[name='o_cp_subj[]']").val();
        var send_cost = $("input[name=od_send_cost]").val();
        var item_coupon = parseInt($("input[name=item_coupon]").val());
        var od_price = parseInt($("input[name=org_od_price]").val()) - item_coupon;
        if(price == 0) {
            if(!confirm(subj+"쿠폰의 할인 금액은 "+price+"원입니다.\n쿠폰을 적용하시겠습니까?")) {
                return false;
            }
        }
        if(od_price - price <= 0) {
            alert("쿠폰할인금액이 주문금액보다 크므로 쿠폰을 적용할 수 없습니다.");
            return false;
        }
        $("input[name=sc_cp_id]").val("");
        $("#sc_coupon_btn").text("쿠폰적용");
        $("#sc_coupon_cancel").remove();
        $("input[name=od_price]").val(od_price - price);
        $("input[name=od_cp_id]").val(cp_id);
        $("input[name=od_coupon]").val(price);
        $("input[name=od_send_coupon]").val(0);
        $("#od_cp_price").text(number_format(String(price)));
        $("#sc_cp_price").text(0);
        calculate_order_price();
        $("#od_coupon_frm").remove();
        $("#od_coupon_btn").text("변경").focus();
        if(!$("#od_coupon_cancel").size())
            $("#od_coupon_btn").after("<button type=\"button\" id=\"od_coupon_cancel\" class=\"cp_cancel\">취소</button>");
    });
    $(document).on("click", "#od_coupon_close", function() {
        $("#od_coupon_frm").remove();
        $("#od_coupon_btn").focus();
    });
    $(document).on("click", "#od_coupon_cancel", function() {
        var org_price = $("input[name=org_od_price]").val();
        var item_coupon = parseInt($("input[name=item_coupon]").val());
        $("input[name=od_price]").val(org_price - item_coupon);
        $("input[name=sc_cp_id]").val("");
        $("input[name=od_coupon]").val(0);
        $("input[name=od_send_coupon]").val(0);
        $("#od_cp_price").text(0);
        $("#sc_cp_price").text(0);
        calculate_order_price();
        $("#od_coupon_frm").remove();
        $("#od_coupon_btn").text("쿠폰적용").focus();
        $(this).remove();
        $("#sc_coupon_btn").text("쿠폰적용");
        $("#sc_coupon_cancel").remove();
    });
    $("#sc_coupon_btn").click(function() {
        $("#sc_coupon_frm").remove();
        var $this = $(this);
        var price = parseInt($("input[name=od_price]").val());
        var send_cost = parseInt($("input[name=od_send_cost]").val());
        $.post(
            "./ordersendcostcoupon.php",
            { price: price, send_cost: send_cost },
            function(data) {
                $this.after(data);
            }
        );
    });
    $(document).on("click", ".sc_cp_apply", function() {
        var $el = $(this).closest("tr");
        var cp_id = $el.find("input[name='s_cp_id[]']").val();
        var price = parseInt($el.find("input[name='s_cp_prc[]']").val());
        var subj = $el.find("input[name='s_cp_subj[]']").val();
        var send_cost = parseInt($("input[name=od_send_cost]").val());
        if(parseInt(price) == 0) {
            if(!confirm(subj+"쿠폰의 할인 금액은 "+price+"원입니다.\n쿠폰을 적용하시겠습니까?")) {
                return false;
            }
        }
        $("input[name=sc_cp_id]").val(cp_id);
        $("input[name=od_send_coupon]").val(price);
        $("#sc_cp_price").text(number_format(String(price)));
        calculate_order_price();
        $("#sc_coupon_frm").remove();
        $("#sc_coupon_btn").text("변경").focus();
        if(!$("#sc_coupon_cancel").size())
            $("#sc_coupon_btn").after("<button type=\"button\" id=\"sc_coupon_cancel\" class=\"cp_cancel\">취소</button>");
    });
    $(document).on("click", "#sc_coupon_close", function() {
        $("#sc_coupon_frm").remove();
        $("#sc_coupon_btn").focus();
    });
    $(document).on("click", "#sc_coupon_cancel", function() {
        $("input[name=od_send_coupon]").val(0);
        $("#sc_cp_price").text(0);
        calculate_order_price();
        $("#sc_coupon_frm").remove();
        $("#sc_coupon_btn").text("쿠폰적용").focus();
        $(this).remove();
    });
    $("#od_b_addr2").focus(function() {
        var zip = $("#od_b_zip").val().replace(/[^0-9]/g, "");
        if(zip == "")
            return false;
        var code = String(zip);
        if(zipcode == code)
            return false;
        zipcode = code;
        calculate_sendcost(code);
    });
    $("#od_settle_bank").on("click", function() {
        $("[name=od_deposit_name]").val( $("[name=od_name]").val() );
        $("#settle_bank").show();
    });
    
    // wetoz : eximbay : ,.od_settle_eximbay 추가
    $("#od_settle_iche,#od_settle_card,#od_settle_vbank,#od_settle_hp,#od_settle_easy_pay,#od_settle_kakaopay,.od_settle_eximbay").bind("click", function() {
        $("#settle_bank").hide();
    });
    // 배송지선택
    $("input[name=ad_sel_addr]").on("click", function() {
        var addr = $(this).val().split(String.fromCharCode(30));
        if (addr[0] == "same") {
            gumae2baesong();
        } else {
            if(addr[0] == "new") {
                for(i=0; i<10; i++) {
                    addr[i] = "";
                }
            }
            var f = document.forderform;
            f.od_b_name.value        = addr[0];
            f.od_b_tel.value         = addr[1];
            f.od_b_hp.value          = addr[2];
            f.od_b_zip.value         = addr[3] + addr[4];
            f.od_b_addr1.value       = addr[5];
            f.od_b_addr2.value       = addr[6];
            f.od_b_addr3.value       = addr[7];
            f.od_b_addr_jibeon.value = addr[8];
            f.ad_subject.value       = addr[9];
            var zip1 = addr[3].replace(/[^0-9]/g, "");
            var zip2 = addr[4].replace(/[^0-9]/g, "");
            var code = String(zip1) + String(zip2);
            if(zipcode != code) {
                calculate_sendcost(code);
            }
        }
    });
    // 배송지목록
    $("#order_address").on("click", function() {
        var url = this.href;
        window.open(url, "win_address", "left=100,top=100,width=800,height=600,scrollbars=1");
        return false;
    });
});
function coupon_cancel($el)
{
    var $dup_sell_el = $el.find(".total_price");
    var $dup_price_el = $el.find("input[name^=cp_price]");
    var org_sell_price = $el.find("input[name^=it_price]").val();
    $dup_sell_el.text(number_format(String(org_sell_price)));
    $dup_price_el.val(0);
    $el.find("input[name^=cp_id]").val("");
}
function calculate_total_price()
{
    var $it_prc = $("input[name^=it_price]");
    var $cp_prc = $("input[name^=cp_price]");
    var tot_sell_price = sell_price = tot_cp_price = 0;
    var it_price, cp_price, it_notax;
    var tot_mny = comm_tax_mny = comm_vat_mny = comm_free_mny = tax_mny = vat_mny = 0;
    var send_cost = parseInt($("input[name=od_send_cost]").val());
    $it_prc.each(function(index) {
        it_price = parseInt($(this).val());
        cp_price = parseInt($cp_prc.eq(index).val());
        sell_price += it_price;
        tot_cp_price += cp_price;
    });
    tot_sell_price = sell_price - tot_cp_price + send_cost;
    $("#ct_tot_coupon").text(number_format(String(tot_cp_price)));
    $("#ct_tot_price").text(number_format(String(tot_sell_price)));
    $("input[name=good_mny]").val(tot_sell_price);
    $("input[name=od_price]").val(sell_price - tot_cp_price);
    $("input[name=item_coupon]").val(tot_cp_price);
    $("input[name=od_coupon]").val(0);
    $("input[name=od_send_coupon]").val(0);
    <?php if($oc_cnt > 0) { ?>
    $("input[name=od_cp_id]").val("");
    $("#od_cp_price").text(0);
    if($("#od_coupon_cancel").size()) {
        $("#od_coupon_btn").text("쿠폰적용");
        $("#od_coupon_cancel").remove();
    }
    <?php } ?>
    <?php if($sc_cnt > 0) { ?>
    $("input[name=sc_cp_id]").val("");
    $("#sc_cp_price").text(0);
    if($("#sc_coupon_cancel").size()) {
        $("#sc_coupon_btn").text("쿠폰적용");
        $("#sc_coupon_cancel").remove();
    }
    <?php } ?>
    $("input[name=od_temp_point]").val(0);
    <?php if($temp_point > 0 && $is_member) { ?>
    calculate_temp_point();
    <?php } ?>
    calculate_order_price();
}
function calculate_order_price()
{
    var sell_price = parseInt($("input[name=od_price]").val());
    var send_cost = parseInt($("input[name=od_send_cost]").val());
    var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
    var send_coupon = parseInt($("input[name=od_send_coupon]").val());
    var tot_price = sell_price + send_cost + send_cost2 - send_coupon;
    $("input[name=good_mny]").val(tot_price);
    $("#od_tot_price").text(number_format(String(tot_price)));
    <?php if($temp_point > 0 && $is_member) { ?>
    calculate_temp_point();
    <?php } ?>
}
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;
    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);
}
function calculate_sendcost(code)
{
    $.post(
        "./ordersendcost.php",
        { zipcode: code },
        function(data) {
            $("input[name=od_send_cost2]").val(data);
            $("#od_send_cost2").text(number_format(String(data)));
            zipcode = code;
            calculate_order_price();
        }
    );
}
function calculate_tax()
{
    var $it_prc = $("input[name^=it_price]");
    var $cp_prc = $("input[name^=cp_price]");
    var sell_price = tot_cp_price = 0;
    var it_price, cp_price, it_notax;
    var tot_mny = comm_free_mny = tax_mny = vat_mny = 0;
    var send_cost = parseInt($("input[name=od_send_cost]").val());
    var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
    var od_coupon = parseInt($("input[name=od_coupon]").val());
    var send_coupon = parseInt($("input[name=od_send_coupon]").val());
    var temp_point = 0;
    $it_prc.each(function(index) {
        it_price = parseInt($(this).val());
        cp_price = parseInt($cp_prc.eq(index).val());
        sell_price += it_price;
        tot_cp_price += cp_price;
        it_notax = $("input[name^=it_notax]").eq(index).val();
        if(it_notax == "1") {
            comm_free_mny += (it_price - cp_price);
        } else {
            tot_mny += (it_price - cp_price);
        }
    });
    if($("input[name=od_temp_point]").size())
        temp_point = parseInt($("input[name=od_temp_point]").val());
    tot_mny += (send_cost + send_cost2 - od_coupon - send_coupon - temp_point);
    if(tot_mny < 0) {
        comm_free_mny = comm_free_mny + tot_mny;
        tot_mny = 0;
    }
    tax_mny = Math.round(tot_mny / 1.1);
    vat_mny = tot_mny - tax_mny;
    $("input[name=comm_tax_mny]").val(tax_mny);
    $("input[name=comm_vat_mny]").val(vat_mny);
    $("input[name=comm_free_mny]").val(comm_free_mny);
}
function forderform_check(f)
{
    // 재고체크
    var stock_msg = order_stock_check();
    if(stock_msg != "") {
        alert(stock_msg);
        return false;
    }
    errmsg = "";
    errfld = "";
    var deffld = "";
/*
    check_field(f.od_name, "주문하시는 분 이름을 입력하십시오.");
    if (typeof(f.od_pwd) != 'undefined')
    {
        clear_field(f.od_pwd);
        if( (f.od_pwd.value.length<3) || (f.od_pwd.value.search(/([^A-Za-z0-9]+)/)!=-1) )
            error_field(f.od_pwd, "회원이 아니신 경우 주문서 조회시 필요한 비밀번호를 3자리 이상 입력해 주십시오.");
    }
    check_field(f.od_tel, "주문하시는 분 전화번호를 입력하십시오.");
    check_field(f.od_addr1, "주소검색을 이용하여 주문하시는 분 주소를 입력하십시오.");
    //check_field(f.od_addr2, " 주문하시는 분의 상세주소를 입력하십시오.");
    check_field(f.od_zip, "");
    clear_field(f.od_email);
    if(f.od_email.value=='' || f.od_email.value.search(/(\S+)@(\S+)\.(\S+)/) == -1)
        error_field(f.od_email, "E-mail을 바르게 입력해 주십시오.");
    if (typeof(f.od_hope_date) != "undefined")
    {
        clear_field(f.od_hope_date);
        if (!f.od_hope_date.value)
            error_field(f.od_hope_date, "희망배송일을 선택하여 주십시오.");
    }
    check_field(f.od_b_name, "받으시는 분 이름을 입력하십시오.");
    check_field(f.od_b_tel, "받으시는 분 전화번호를 입력하십시오.");
    check_field(f.od_b_addr1, "주소검색을 이용하여 받으시는 분 주소를 입력하십시오.");
    //check_field(f.od_b_addr2, "받으시는 분의 상세주소를 입력하십시오.");
    check_field(f.od_b_zip, "");
*/
    var od_settle_bank = document.getElementById("od_settle_bank");
    if (od_settle_bank) {
        if (od_settle_bank.checked) {
            check_field(f.od_bank_account, "계좌번호를 선택하세요.");
            check_field(f.od_deposit_name, "입금자명을 입력하세요.");
        }
    }
    // 배송비를 받지 않거나 더 받는 경우 아래식에 + 또는 - 로 대입
    f.od_send_cost.value = parseInt(f.od_send_cost.value);
    if (errmsg)
    {
        alert(errmsg);
        errfld.focus();
        return false;
    }
    var settle_case = document.getElementsByName("od_settle_case");
    var settle_check = false;
    var settle_method = "";
    for (i=0; i<settle_case.length; i++)
    {
        if (settle_case[i].checked)
        {
            settle_check = true;
            settle_method = settle_case[i].value;
            break;
        }
    }
    if (!settle_check)
    {
        alert("결제방식을 선택하십시오.");
        return false;
    }
    var od_price = parseInt(f.od_price.value);
    var send_cost = parseInt(f.od_send_cost.value);
    var send_cost2 = parseInt(f.od_send_cost2.value);
    var send_coupon = parseInt(f.od_send_coupon.value);
    var max_point = 0;
    if (typeof(f.max_temp_point) != "undefined")
        max_point  = parseInt(f.max_temp_point.value);
    var temp_point = 0;
    if (typeof(f.od_temp_point) != "undefined") {
        if (f.od_temp_point.value)
        {
            var point_unit = parseInt(<?php echo $default['de_settle_point_unit']; ?>);
            temp_point = parseInt(f.od_temp_point.value);
            if (temp_point < 0) {
                alert("포인트를 0 이상 입력하세요.");
                f.od_temp_point.select();
                return false;
            }
            if (temp_point > od_price) {
                alert("상품 주문금액(배송비 제외) 보다 많이 포인트결제할 수 없습니다.");
                f.od_temp_point.select();
                return false;
            }
            if (temp_point > <?php echo (int)$member['mb_point']; ?>) {
                alert("회원님의 포인트보다 많이 결제할 수 없습니다.");
                f.od_temp_point.select();
                return false;
            }
            if (temp_point > max_point) {
                alert(max_point + "점 이상 결제할 수 없습니다.");
                f.od_temp_point.select();
                return false;
            }
            if (parseInt(parseInt(temp_point / point_unit) * point_unit) != temp_point) {
                alert("포인트를 "+String(point_unit)+"점 단위로 입력하세요.");
                f.od_temp_point.select();
                return false;
            }
            // pg 결제 금액에서 포인트 금액 차감
            if(settle_method != "무통장") {
                f.good_mny.value = od_price + send_cost + send_cost2 - send_coupon - temp_point;
            }
        }
    }
    var tot_price = od_price + send_cost + send_cost2 - send_coupon - temp_point;
    if (document.getElementById("od_settle_iche")) {
        if (document.getElementById("od_settle_iche").checked) {
            if (tot_price < 150) {
                alert("계좌이체는 150원 이상 결제가 가능합니다.");
                return false;
            }
        }
    }
    if (document.getElementById("od_settle_card")) {
        if (document.getElementById("od_settle_card").checked) {
            if (tot_price < 1000) {
                alert("신용카드는 1000원 이상 결제가 가능합니다.");
                return false;
            }
        }
    }
    if (document.getElementById("od_settle_hp")) {
        if (document.getElementById("od_settle_hp").checked) {
            if (tot_price < 350) {
                alert("휴대폰은 350원 이상 결제가 가능합니다.");
                return false;
            }
        }
    }
    <?php if($default['de_tax_flag_use']) { ?>
    calculate_tax();
    <?php } ?>
    <?php if($default['de_pg_service'] == 'inicis') { ?>
    if( f.action != form_action_url ){
        f.action = form_action_url;
        f.removeAttribute("target");
        f.removeAttribute("accept-charset");
    }
    <?php } ?>
    // 카카오페이 지불
    if(settle_method == "KAKAOPAY") {
        <?php if($default['de_tax_flag_use']) { ?>
        f.SupplyAmt.value = parseInt(f.comm_tax_mny.value) + parseInt(f.comm_free_mny.value);
        f.GoodsVat.value  = parseInt(f.comm_vat_mny.value);
        <?php } ?>
        getTxnId(f);
        return false;
    }
    <?php if($default['de_eximbay_use']) { // wetoz : eximbay ?>
    var eximbay_use = $(':input:radio[name=od_settle_case]:checked').attr('data-eximbay');
    if (eximbay_use == '1' && settle_method != '무통장') {
        fnSubmit(f);
        return false;
    }
    <?php } ?>
    var form_order_method = '';
    if( settle_method == "lpay" ){      //이니시스 L.pay 이면 ( 이니시스의 삼성페이는 모바일에서만 단독실행 가능함 )
        form_order_method = 'samsungpay';
    }
    if( jQuery(f).triggerHandler("form_sumbit_order_"+form_order_method) !== false ) {
        // pay_method 설정
        <?php if($default['de_pg_service'] == 'kcp') { ?>
        f.site_cd.value = f.def_site_cd.value;
        f.payco_direct.value = "";
        switch(settle_method)
        {
            case "계좌이체":
                f.pay_method.value   = "010000000000";
                break;
            case "가상계좌":
                f.pay_method.value   = "001000000000";
                break;
            case "携帯電話":
                f.pay_method.value   = "000010000000";
                break;
            case "クレジットカード":
                f.pay_method.value   = "100000000000";
                break;
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 126,437
© SIRSOFT
현재 페이지 제일 처음으로