2026, 새로운 도약을 시작합니다.

영카트 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개

영카트 경로가 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);

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

댓글 작성

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

로그인하기

영카트5 팁자료실

번호 제목 글쓴이 날짜 조회
441 3주 전 조회 244
440 1개월 전 조회 193
439 1개월 전 조회 295
438 1개월 전 조회 465
437 2개월 전 조회 661
436 2개월 전 조회 273
435 2개월 전 조회 387
434 3개월 전 조회 539
433 3개월 전 조회 374
432 3개월 전 조회 341
431 3개월 전 조회 447
430 3개월 전 조회 409
429 3개월 전 조회 362
428 3개월 전 조회 370
427 4개월 전 조회 513
426 4개월 전 조회 539
425 4개월 전 조회 355
424 4개월 전 조회 631
423 4개월 전 조회 603
422 4개월 전 조회 521
421 5개월 전 조회 573
420 5개월 전 조회 491
419 5개월 전 조회 573
418 5개월 전 조회 516
417 5개월 전 조회 625
416 6개월 전 조회 433
415 6개월 전 조회 566
414 6개월 전 조회 568
413 6개월 전 조회 664
412 7개월 전 조회 554
🐛 버그신고