영카트 kg이니시스 모바일 결제시 간혹 발생하는 오류 처리 > 영카트5 팁자료실

영카트5 팁자료실

영카트 kg이니시스 모바일 결제시 간혹 발생하는 오류 처리 정보

영카트 kg이니시스 모바일 결제시 간혹 발생하는 오류 처리

본문

kg이니시스 모바일 결제시

p_req_url값이 간혹 비어있는 경우가 생깁니다

정확히 어떤 상황에서 해당 인자 값이 비는지는 확인하지 못했으나

오류 처리에 문제가 있습니다.

 

위 값이 비어있을 때, pay_approval.php 16번째 라인 아래 코드에서 alert을 띄우도록 되어있습니다

 

if( ! $p_req_url || !preg_match('/^https\:\/\//i', $p_req_url)){
    alert("잘못된 요청 URL 입니다.");
}

 

문자는 위에서 alert을 호출 할 때 두 번째 인자(url)을 지정하지 않고 호출하기에

alert 코드를 따라가보면 HTTP_REFERER를 url변수에 넣어서

check_url_host 함수를 호출합니다

HTTP_REFERER는 운영중인 쇼핑몰 url이 아니며 kg이니시스 url입니다

 

check_url_host는 외부 url값이 외부 url임으로

alert 창을 띄우고 쇼핑몰 메인 페이지로 이동해버립니다.

배송주소까지 모두 입력하고 결제하려던 참에 이상한 오류와 함께

메인 페이지로 이동해 버리면 이용자 입장에서 황당하죠 ㅠㅠ

 

해결 방법은 위 pay_approval 17번째 alert 호출시 두 번째 인자에 url 인자를 넣어주면 됩니다

결제 실패했음으로 돌아갈 url을 지정해주면 됩니다

 

저는 영카트 개인결제를 이용하지 않기에 아래와 같이 처리했으나

개인결제를 사용하시는 경우 돌아갈 url을 상황에 맞게 설정하시면 됩니다

 

$page_return_url  = G5_SHOP_URL.'/orderform.php';
if(get_session('ss_direct'))
    $page_return_url .= '?sw_direct=1';

alert("잘못된 요청 URL 입니다.", $page_return_url);

 

추천
1

댓글 1개

영카트 경로가 mobile>shop>inicis>pay_approval.php 

13번째줄에 보시면 아래와 같이 되어 있는데

if( ! $p_req_url || !preg_match('/^https\:\/\//i', $p_req_url)){
    alert("잘못된 요청 URL 입니다.");
}

여기에  아래와 바로 밑에 추가해주면 되는건가요? 

if( ! $p_req_url || !preg_match('/^https\:\/\//i', $p_req_url)){
    alert("잘못된 요청 URL 입니다.");
}

$page_return_url  = G5_SHOP_URL.'/orderform.php';
if(get_session('ss_direct'))
    $page_return_url .= '?sw_direct=1';

alert("잘못된 요청 URL 입니다.", $page_return_url);

 

혹시 아래에 추가만 해주면 될까요?

 

전체 401
영카트5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT