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

KCP오류코드 3107 결제금액 설정정보오류 발생시 체크

· 1년 전 · 1036
KCP오류코드 3107 결제금액 설정정보오류.png

1. 원인 

/shop/orderform.sub.php

컨텐츠 형식 상품 주문 페이지 구성 등을 위해 주문서 작성페이지에서

사용포인트 input 미출력 (보유포인트가 결제 최소 포인트 보다 적은 경우 등) 상태에서 받으시는 분 영역 숨김으로 배송지 선택이 불가능

 

2. 문제

위 1번 진행으로 /shop/kcp/orderform.2.php
<input type="hidden" name="good_mny"    value="<?php echo $tot_price; ?>">

good_mny 값이 반영되지 않음  (아래 4번 참고)

 

3. 해결 

- /shop/orderform.sub.php 마지막 부분에 아래 소스 반영 (배송지선택 주문자와 동일 선택 처리)
$(function(){
    $("#ad_sel_addr_same").attr("checked", true).trigger("click");
});
</script> <!-- 이 부분 위쪽 및 원하는 부분에 -->

 

 

4. 이하 참고

 /shop/orderform.sub.php 파일에서 good_mny 값이 반영되는 부분
1. 배송지 선택 
- 배송지선택 에서 "주문자와 동일 선택시"  gumae2baesong() -> calculate_sendcost() -> calculate_order_price() 흐름에 의해 good_mny 값이 적용됨
- 배송지선택 에서 "신규배송지 선택시" calculate_sendcost() -> calculate_order_price() 흐름에 의해 good_mny 값이 적용됨  (아래 calculate_order_price 함수 ★★★★ 부분에서)
   // 배송지선택
    $("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;

              ...생략...

            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);
            }
        }
    });

// 구매자 정보와 동일합니다.
function gumae2baesong() {
    var f = document.forderform;

      ...생략...

    calculate_sendcost(String(f.od_b_zip.value));
}

function calculate_sendcost(code)
{
    $.post(
        "./ordersendcost.php",
        { zipcode: code },
        function(data) {

              ...생략...

            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); // ★★★★
    ...생략...
}

 

2. 포인트 결제 사용(사용포인트 입력란이 있으면) 가능 상태라면 아래 ★★★★ 부분에서 결제방식선택 - 결제하기 클릭시 good_mny 값이 적용됨
function forderform_check(f)
{
...생략...
if (typeof(f.od_temp_point) != "undefined") {
        var point_unit = parseInt(<?php echo $default['de_settle_point_unit']; ?>);
        temp_point = parseInt(f.od_temp_point.value) || 0;

        ...생략...

        // pg 결제 금액에서 포인트 금액 차감
        if(settle_method != "무통장") {
            f.good_mny.value = od_price + send_cost + send_cost2 - send_coupon - temp_point;  // ★★★★
        }
...생략...
    }

 

댓글 작성

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

로그인하기

게시글 목록

번호 제목
2169
2168
2167
2158
2146
2140
2130
2114
2102
2095
2084
2075
2072
2070
2069
2065
2058
2056
2055
2054
2049
2038
2036
1989
1956
1923
1918
1904
1892
1891