최신버전 영카트 모바일 결제 시 장바구니가 비었습니다. 오류 (긴급)
본문
안녕하세요.
nicepay PG사를 사용하며, 최신 버전의 영카트를 사용하고 있습니다.
PC 에서는 문제없는데 모바일에서는 결제 시 orderformupdate.php 에서 "장바구니가 비었습니다" 라는 에러가 계속 뜹니다.
그 후에 다시 시도하면 정상적이로 작동하고, 계속 됐다 안됐다 하네요.
세션 데이터를 제대로 읽어오지 못하는거 같은데 이것에 대한 해결법을 알 수 있나요?
비슷한 글들을 몇 개 봤는데 정확한 해결법을 찾지 못했습니다.
답변 3
SSL이 설치가 정상적으로 되었는지 먼저 확인해 보셔야 할듯 합니다.
결제과정중 세션의 정보가 제대로 전달이 안되어 발생될수 있는 문제일수도 있습니다.
제보도 했었는데 이번 패치에도 반영이 안된거 같네요.
common.php 에서 다른 피지사 결제 처럼 나이스페이도 결제리턴 페이지를 등록해주시면 됩니다.
orderformupdate.php 에서 "장바구니가 비었습니다" <--- 이부분은 결론적으로 세션값을 잃어버리기 때문에 해당주문에 대한 정보를 가지고 올수 겂기 때문에 문제가 되는것입니다.
모바일 캐쉬를 삭제보시고 다시 시도를 해보시고 아니면 제부팅까지 해보셔두 안된다 하시면...
주문값을 파라메터로 넘겨서 처리하는방법으로 변경하시던지.. 아니면 이부분 쿠키로 변경해보셔서 시도하시면 될꺼 같습니다.
아래 해당 원인에 대한 소스를 보여드리니 이부분 참고 하시면 도움이 될꺼 같습니다.
// 장바구니가 비어있는가?
if (get_session('ss_direct'))
$tmp_cart_id = get_session('ss_cart_direct');
else
$tmp_cart_id = get_session('ss_cart_id');
if (get_cart_count($tmp_cart_id) == 0) { // 장바구니에 담기
if(function_exists('add_order_post_log')) add_order_post_log('장바구니가 비어 있습니다.');
alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL.'/cart.php');
}
!-->
답변을 작성하시기 전에 로그인 해주세요.