LG U+ 토스페이먼트 설정 변경 질문드립니다.
이전에 모바일 버전 카드결제 작업을 진행했는데 오류가 나서 가이드를 보고 returnurl.php 파일의 수정해서 처리했으나
계좌이체에서 같은 이슈가 발생하고 있습니다.
확인이 필요합니다
19 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
계좌이체에서 같은 이슈 라는게 어떤 이슈인지 추가 설명부탁드립니다.
네 return_url에 보낸 페이지로 이동하면
아래 항목에서 걸리네요
if (!isset($_SESSION['PAYREQ_MAP'])) {
echo "<script>alert('세션이 만료 되었거나 유효하지 않은 요청 입니다. 로그인 후 다시 시도해주세요.');</script>";
$this->run_logout();
// echo "세션이 만료 되었거나 유효하지 않은 요청 입니다.";
// return;
}
카드에서 저부분지우신것 아닌가요?
동일하게 처리 부탁드립니다.
카드에서는 애초에 PAYREQ_MAP 가 넘어와서 따로 지우지는 않았어요
지우고 테스트해 볼게요 잠시만요
_SESSION 이부분이 문제일겁니다.
세션 자체가 넘어오지를 않아요
아래 내용에서 세션으로 받아서 모든 걸 처리하게 되어 있어요
$_SESSION['PAYREQ_MAP'];
네 세션이 원래 넘어 오지 않을겁니다. 예전 샘플을 사용하고 계세요.
카드도 $_SESSION['PAYREQ_MAP']; 이걸 받게 되어 있으신가요? 그럼 똑같은 오류가 날텐데요.
https://drive.google.com/file/d/17BCgzkSNtvh5eXDIwESN1TKZ3yr4v8q0/view?usp=share_link
카드는 잘 돼요
returnurl.php
수정했더니 잘 되네요
세션 넘어오고요
여기 샘플에 있는 returnURL 파일내용으로 바꿔보세요.
크롬 최신버전에서 세션을 날려버리기 때문에 세션을 사용하는 식으로 구성을 하시면 문제생깁니다.
보내주신걸로 이미
수정해 놓은 상태에요
returnurl.ph요
컨트롤러에서
아니 저 폼에서 return_url 페이지 컨트롤러로 다시 보내거든요 처리하려고
그 컨트롤러 내용이 세션방식이에요
그 소스 참고할 게 잇을까요
$LGD_PAYKEY = $_REQUEST['LGD_PAYKEY']; 이부분을 $_POST로 변경하면 해결이 되려나요
기존에 REQUEST부분이 POST로 변경이 되어 있던 게 기억이 나네요
코드를 변경해서 쓰시는거면 저희가 가이드 드리기가 좀 어렵습니다.
변경을해서 쓰는게아니고요
그럼 returnURL 소스를 올려주실수 있을까요?
<html>
<head>
<script type="text/javascript">
function setLGDResult() {
parent.payment_return();
try {
} catch (e) {
alert(e.message);
}
}
</script>
</head>
<body onload="setLGDResult()">
<?php
$LGD_RESPCODE = $_POST['LGD_RESPCODE'];
$LGD_RESPMSG = $_POST['LGD_RESPMSG'];
$LGD_PAYKEY = "";
if($LGD_RESPCODE == "0000"){
$LGD_PAYKEY = $_POST['LGD_PAYKEY'];
?>
<form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO" action="<?=SITE_URL.LANG?>/payment/payment_result">
<input type="hidden" id="LGD_RESPCODE" name="LGD_RESPCODE" value="<?= $LGD_RESPCODE ?>"/>
<input type="hidden" id="LGD_RESPMSG" name="LGD_RESPMSG" value="<?= $LGD_RESPMSG ?>"/>
<input type="hidden" id="LGD_PAYKEY" name="LGD_PAYKEY" value="<?= $LGD_PAYKEY ?>"/>
</form>
<?php
}
else{
echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가
}
?>
</body>
</html>
이부분은 문제 없으신거죠?
parent.payment_return(); 여기까지 잘호출될것 같은데요.
흠.. 간헐적인 오류가 생길 수도 잇나요?
지금까지 계속 안 되다가
다시 시도하니까 이번엔 또 되네요
저희 소스에서 사용하니 쿠키나 세션 관련해서 충돌이 있나 확인해 봐야겠네요
추가로 문의할 내용있으면 다시 말씀드릴게요
확인해 주셔서 감사합니다
그럼 캐시 때문이실것 같습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.