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);
혹시 아래에 추가만 해주면 될까요?
게시글 목록
| 번호 | 제목 |
|---|---|
| 1483 | |
| 1481 | |
| 1479 | |
| 1474 | |
| 1473 | |
| 1463 | |
| 1458 | |
| 1457 | |
| 1456 | |
| 1452 | |
| 1449 | |
| 1448 | |
| 1442 | |
| 1441 | |
| 1426 | |
| 1411 | |
| 1389 | |
| 1388 | |
| 1372 | |
| 1359 | |
| 1357 | |
| 1355 | |
| 1348 | |
| 1347 | |
| 1338 | |
| 1332 | |
| 1328 | |
| 1313 | |
| 1307 | |
| 1303 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기