채택완료

주문내역 입금대기 생략 후 결제(입금)완료로 바로 가고 싶습니다.

회원 구분(mb_8)을 선납자(value=0)와 후납자(value=1)로 구분하고 있습니다.
결제방식은 무통장만 사용중입니다.

선납자가 주문시 원래 영카트 시스템인 입금대기로 넘어갑니다.

<질문>
후납자가 주문시에 입금대기를 생략하고 다음단계인 결제(입금)완료 구간으로 바로 가고싶습니다.

 

아래 코드를 확인하며 수정하고 있습니다만, 조언을 얻을수 있을까 해서 글 남겨봅니다.

 

Copy
$od_status = '주문';
$od_tno    = '';
if ($od_settle_case == "무통장")
{
    $od_receipt_point   = $i_temp_point;
    $od_receipt_price   = 0;
    $od_misu            = $i_price - $od_receipt_price;
    if($od_misu == 0) {
        $od_status      = '입금';
        $od_receipt_time = G5_TIME_YMDHIS;
    }
}
|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

위의 코드를 가지고 이야기를 드리면

 


$od_status = '주문';
$od_tno    = '';
if ($od_settle_case == "무통장")
{
    $od_receipt_point   = $i_temp_point;
    $od_receipt_price   = 0;
    $od_misu            = $i_price - $od_receipt_price;
    if($od_misu == 0) {
        $od_status      = '입금';
        $od_receipt_time = G5_TIME_YMDHIS;
    }
}

에서

 

입금을 만드는 조건은

$od_misu 가 0 일때 입니다.

그런데

$od_misu 를 구성하는건

 

$od_misu            = $i_price - $od_receipt_price;

 

이 문장으로 판단되는데

 

$od_receipt_price는 바로위에서 0 입니다.

그러면

 $i_price 가 0이 되어야 $od_misu가 0 으로 만들어져서 입금처리가 된다는 판단이죠

 

$i_price는 

위의 예문에 보이진 않지만

 

그 바로위에서 정의됩니다.

$i_price = $i_price + $i_send_cost + $i_send_cost2 - $i_temp_point - $i_send_coupon;

상품가 - 배송비1,배송비1, 포인트, 쿠폰 을 제외한 금액이라는 내용이 보여집니다.

 

기본적으로 주문시에 무통장은 '입금'으로 만드는일을 거의 하지 않는다는 결론을 내릴수있습니다.

 

그러면

 

하고자 하는 일은

mb_8 의 값이 1일때

미수금과 관계없이 '입금'이 되어야 겠죠

 

Copy
if($od_misu == 0 || $member['mb_8'] == '1') {
        $od_status      = '입금';
        $od_receipt_time = G5_TIME_YMDHIS;
    }

이렇게 하면 '입금'처리는되겠지만

 

어떤조건으로 입금이 된건지는 추론(미수금존재 + 입금) 으로밖에 판단이 안될것이라서

어딘가에 기록을해두셔야 추후 발생할 민원/오류/상담등의 근거로 삼을수있을것입니다.

 

쇼핑몰이던, 커뮤니티던간에 운영을할때 선행,후행,그에 따른 결과를 고려하지 않으면

매우 난처한 상황들이 발생되니 전방위적으로 고려하고 진행하시는게 좋습니다.

답변에 대한 댓글 1개

감사합니다. 마지막 주의사항 고려하여 작업해보겠습니다.
다시 한번 감사합니다.

아래 코드를 확인하며 수정하고 있습니다만, 

==

아래 코드가 있는 파일이 어떤 파일인가요?

 

회원 mb_8 조건을 걸어 주어야 하는데 보이는 코드가 부족하네요.

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