77 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
<?php
/*
payreq_crossplatform 에서 세션에 저장했던 파라미터 값이 유효한지 체크
세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다.
*/
session_start();
if(!isset($_SESSION['PAYREQ_MAP'])){
echo "세션이 만료 되었거나 유효하지 않은 요청 입니다.";
return;
}
$payReqMap = $_SESSION['PAYREQ_MAP'];//결제 요청시, Session에 저장했던 파라미터 MAP
?>
<html>
<head>
<script type="text/javascript">
function setLGDResult() {
document.getElementById('LGD_PAYINFO').submit();
}
</script>
</head>
<body onload="setLGDResult()">
<?php
$LGD_RESPCODE = $_REQUEST['LGD_RESPCODE'];
$LGD_RESPMSG = $_REQUEST['LGD_RESPMSG'];
$LGD_PAYKEY = "";
if($LGD_RESPCODE == "0000"){
$LGD_PAYKEY = $_REQUEST['LGD_PAYKEY'];
$payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE;
$payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG;
$payReqMap['LGD_PAYKEY'] = $LGD_PAYKEY;
?>
<form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="payres.php?siteno=<?=$siteno?>">
<?php
foreach ($payReqMap as $key => $value) {
echo "<input type='hidden' name='$key' id='$key' value='$value'>";
}
?>
</form>
<?php
}
else{
echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가
}
?>
</body>
</html>
오래전에 연동하셨을까요?
예
5년전에부터 사용중입니다
잠시만 기다려 주세요.
말씀하시는 내용으로 보아 구모듈 중에서도 예전 세션을 사용하던 소스가 적용이 되어 있는것 같은데, 이후에 노세션 으로 업데이트 되었습니다.
아래 nosession 샘플에서 return 받는 부분 만 참고하셔서 한번 테스트 부탁 드릴게요.
XPAY공통사항
XPay 결제 모듈 공통사항 매뉴얼입니다. 공통 환경설정, 응답 코드, 기능을 설명합니다.
(https://drive.google.com/drive/folders/1jwRUPkVbVzJ0aDLwTNjwyPnpxu6xJfwC?usp=sharing)
XPAY결제 - PC
PC XPay 통합결제창 연동을 위한 매뉴얼과 프로그램입니다. JSP・ASP・PHP・.NET를 지원합니다.
(https://drive.google.com/drive/folders/1XytZZ1sdWFxT5SiRVtjgov1xVix83RSb?usp=sharing)
XPAY결제 - Mobile
모바일 XPay 통합결제창 연동을 위한 매뉴얼과 프로그램입니다. JSP・ASP・PHP・.NET를 지원합니다.
(https://drive.google.com/drive/folders/1IEnJeixz6SCk2QT7vAumZXnM5KgBDzXT?usp=sharing)
@큐에듀
RETURNURL페이지 노세션으로 변경하면 결제하고 메인페이지로 튕겨져나옵니다
그리고 롯데카드로 결제한 https://sps.lottecard.co.kr/endMenApc.top?type=A&AppStart=
이페이지로 가네요
<html>
<head>
<script type="text/javascript">
function setLGDResult() {
document.getElementById('LGD_PAYINFO').submit();
}
</script>
</head>
<body onload="setLGDResult()">
<?php
$LGD_RESPCODE = $_REQUEST['LGD_RESPCODE'];
$LGD_RESPMSG = $_REQUEST['LGD_RESPMSG'];
$LGD_PAYKEY = "";
$LGD_MID = $_REQUEST['LGD_MID'];
if($LGD_RESPCODE == "0000"){
$LGD_PAYKEY = $_REQUEST['LGD_PAYKEY'];
?> <form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="payres.php?siteno=<?=$siteno?>"> <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 ?>"/> <input type="hidden" id="LGD_MID" name="LGD_MID" value="<?= $LGD_MID ?>"/>
</form> <?php } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> </body> </html> 이렇게 변경했습니다
?> <form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="payres.php?siteno=<?=$siteno?>"> <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 ?>"/> <input type="hidden" id="LGD_MID" name="LGD_MID" value="<?= $LGD_MID ?>"/>
</form> <?php } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> </body> </html> 이렇게 변경했습니다
거래건 정보를 남겨주시겠어요?
💡 정보 제출
아래 버튼을 눌러 외부로 노출되기 민감한 정보를 제출해주세요
큐에듀#7585
정상적으로 제출되었습니다.
결제 연동을 새로이 하시는건가요? 아니면 특정 거래건에서 발생한다고 하시는걸까요?
모바일 사용이 안되고있어서 문의드립니다
결제창뜨고 결제완료후 받는페이지에서 문제가 생기고있네요
안드로이드에서 테스트해보시는 것 같은데, 디폴트는 submit 으로 되어 있을텐데요. 지금 로그를 보면 iframe 으로 되어 있는데 submit 으로 해보시겠어요?
예..수정해서 테스트해보겠습니다
모바일에서 $LGD_WINDOW_TYPE = "submit";변경해서 테스트했는데 상황은 똑같습니다
테스트 계정이 있으실까요?
이계정으로 사용하세요
계정 확인하여 메세지는 삭제하였습니다.
장바구니에 담긴 항목을 결제하기 누르면 Not Found 로 결제창도 안열리는것 같아요. 말씀주신 상황하고 조금 다른것 같은데 맞으실까요?
? 그런거는없는데..
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의,,큐에듀 - (구)온라인고시에서 다양한 정보와 유용한 컨텐츠를 만나보세요
이페이지에서 수강신청 바로 진행해보세요
네 동일한 페이지에서 장바구니에 담긴 상품명이 손해평가사 평생합격대비반 로 진행했습니다.
이페이지가 결제하기 페이지입니다
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의,,큐에듀 - (구)온라인고시에서 다양한 정보와 유용한 컨텐츠를 만나보세요
네 상품만 하나 더 추가되었고, 동일하네요
결제하기 누르면 결제창이 안뜨나요?
네 안뜹니다. 404가 뜨네요
/newsite/service/xpay/Request.do
모바일 여러 브라우저로 테스트했는데 결제창 뜨고있는데요
에러상황에 대해 영상을 올려주실수 있을까요?
잠시만요
카드결제 마지막에 리턴페이지에서 문제가 생기고 있습니다

return페이지랑 payres페이지를 올려봅니다
return페이지는 알려주신 노세션파일보고 수정했습니다
이페이지가 PC에서 사용중인 세션이용한 페이지입니다
카카오톡 인앱 브라우저 인가요?
모바일 일반 브라우저 (사파리나 삼성브라우저, 크롬같은 앱 외부 브라우저) 에서는 어떻게 진행 되시나요?
일단 인앱브라우저에서는 결제가 정상진행이 안되는게 맞습니다.
일반브라우저에서 테스트해보겠습니다
모바일 일반 브라우저에서도 에러가 나고있습니다

http 통신으로 진행되는거 같네요..
지금까지 확인 된 내용을 정리를 좀 해볼게요......
공유주신 사이트
http://www.onlinegosi.co.kr/newsite/sugang.php?siteno=169
* 여기에서 전달된 테스트 용 아이디로 로그인 하고, 수강 구매로 넘어가면, 로그인이 풀려요. 그래서 다시 로그인을 해야 합니다. 이 부분은 세션 유지 관련해서 사이트 보수를 하셔야 할것 같고요.
* SSL 적용이 되어있지 않은데, SSL 적용 안되어 있으면 결제가 문제가 아니라 사이트 접속 자체에 문제가 발생할 가능성이 있습니다. 이건 구글 / MS / APPLE 등 브라우저를 제공하는 업체에서 SSL 적용 안된 사이트를 차단하는 정책을 시행하려고 준비중입니다. SSL 적용 꼭 하시는 것을 추천 드리고요.
* 주문서에서 결제창 뜨는것 확인했고, 인증까지 문제 없이 진행 되는데, 승인 요청이 넘어오지 않았습니다. 의미는, 인증 완료되고,
1. returnurl 로 인증 성공이 전달되고,
2. returnurl 에서 crossplatform
3. 그 후 payres 에서 승인 요청이 있어야 하는데
지금 이 단계에서 문제가 있으신것 같아요.
지금 수정하신건 returnurl 만 수정하셨을까요?
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의,,큐에듀 - (구)온라인고시에서 다양한 정보와 유용한 컨텐츠를 만나보세요
지금 보면
ssl이 안되어 있어서 연결이 차단되서
아예 successurl에 접근자체가 안된거로 보입니다
SSL을 설치하시고 다시 해보셔야 할거 같네요
왼쪽 이미지가 그래서 생기는 오류
오른쪽이미지는 무시하고 접속했을 때 세션이 안들어 가기때문에 발생하는 문제입니다
최우선 해결 사항으로는, SSL 적용일것 같습니다
SSL 되어있는데...
다시테스트해보겠습니다
안되어 있으십니다..
http로 접속이 되는거로 보입니다
공유주신 사이트도 아예 http로 보이는데요
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의
큐에듀 - (구)온라인고시 손해평가사 인강,손해평가사 인터넷강의, 손해평가사 동영상강의,,큐에듀 - (구)온라인고시에서 다양한 정보와 유용한 컨텐츠를 만나보세요
스크린샷에서도 http 접속 경고아이콘이 위에 떠서
그럼 이렇게 테스트 가능하실까요
지금해보고있습니다
http 80번 포트로 접속하면 https 로 바꿔 리디렉션 되게 작업 하고 시도해 보시면 확실할거 깉습니다
+ 설정파일에서도 프로토콜 바꿔주셔야 합니다
똑같이 마지막에 안되네요..TT
설정파일에 설정 바꿔주셨나요
설정파일은 안바꿨습니다
설정어떤파일을 바꿀까요?
redirecturl을 변경하셔야 하는데
@유부장 php 에서는 어떤파일을 바꾸면 되는지 알려주시면 감사드리겠습니다 🫡
하셔야 할것들이 많은것 같은데요..
* 웹서버에서 http - https 리다이렉션 처리를 하시는게 속 편할것 같습니다.
* 결제 요청시에 returnurl 프로토콜도 https 로 전달 해주셔야 합니다
아파치 쓰시나요?
일단 그 returnurl 설정에 https 붙이는게 우선입니다.
그래서 결제가 잘들어가면 hsts나 그런 설정을 붙이면 될거 같네요
우선 결제요청 파라미터 returnurl 프로토콜 https 로 수정해서 진행 해주시고
다시해보겠습니다
그 다음에 issac 님 말씀처럼 접속 강제 하는 순서로 진행하는게 좋을것 같아요
추후에 접속강제 하실때는, 꼭 토스말고 다른 페이지에서도 http로 통신하는@부분이 없도록 해주시기 바랍니다.
http로 통신되는 페이지가 하나라도 있으면 그 페이지는 아예 작동을 안합니다..
예를@들면 강의사이트에서 영상을 가져오는데 프로토콜이 http면 영상이 아예 안불러와집니다.
returnurl 프로토콜을 https 로 수정해서 진행해도 에러가 뜹니다
https 로 접근 시도해도, http 사이트로 전환 되는것 같아요
캐쉬를 지우고 테스트해볼까요?
캐쉬는 당연히 클리어하고 해주셔야 할것이고,
문제는 ssl이 자꾸 떨어진다는건데요.
수강 신청하고 장바구니에서 결제하기로 넘어가는 순간에
주문서 이동시에 리다이렉션 되면서 SSL 적용 안된 곳으로 넘어가는것 같아요
http로 가는 링크를 찾았어요..수정하고 다시 테스트해보겠습니다
TT
아직 똑같이 안되네요
* 우편번호 검색이 수행되지 않는데, 이 부분 수정 필요하신것 아닐지 확인 부탁 드려요
이거 추가가 안되어서 진행을 못하네요
주소 수정해놨습니다
쿼리파람 idx=&re=XC01 이 붙은 주소로 리다이렉트 되는데,
어떤 로직에서 위 쿼리파람이 붙은 주소로 리다이렉트 되도록 구현 해두셨을까요?
returnurl siteno 로 접근 시도 했을때,
쿼리 파람 붙어서 리다이렉션 되거나, 이동을 중간에 강제하는 등 로직이 있는것 같은데
세션 유지를 위해 어느 부분을 거치는 등의 로직이 있을까요?
payres.php 마지막에 결제정보 확인지로 보낼때 파라미터입니다
<div class="title">결제정보확인</div>
<div class="content" id="checkOrder">
<? $idx = $xpay->Response("LGD_OID", 0); ?>
<script>location.href='sugang.view.php?siteno=<?=$siteno?>&idx=<?=$idx?>&re=<?=$xpay->Response_Code()?>';</script>
<? include "index.bottom.php"; ?>
</div>
이 정보가 필요 하신거라면,
결제 프로세스 내에서 href 등으로 리다이렉션 처리 하는 것이 아니라
세션에 저장해두시고 사용하실 수 있을까요?
원래 returnurl에 세션유지 사용하고있었습니다
<?php
/*
payreq_crossplatform 에서 세션에 저장했던 파라미터 값이 유효한지 체크
세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다.
*/
session_start();
if(!isset($_SESSION['PAYREQ_MAP'])){
echo "세션이 만료 되었거나 유효하지 않은 요청 입니다.";
return;
}
$payReqMap = $_SESSION['PAYREQ_MAP'];//결제 요청시, Session에 저장했던 파라미터 MAP
?>
<html>
<head>
<script type="text/javascript">
function setLGDResult() { opener.document.getElementById('LGD_RESPCODE').value = document.getElementById('LGD_RESPCODE').value; opener.document.getElementById('LGD_PAYKEY').value = document.getElementById('LGD_PAYKEY').value; opener.payment_return(); window.close(); try { } catch (e) { alert(e.message); } }
</script> </head> <body onload="setLGDResult()"> <?php $LGD_RESPCODE = $_POST['LGD_RESPCODE']; $LGD_RESPMSG = $_POST['LGD_RESPMSG']; $LGD_PAYKEY = ""; $payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE; $payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG; if($LGD_RESPCODE == "0000"){ $LGD_PAYKEY = $_POST['LGD_PAYKEY']; $payReqMap['LGD_PAYKEY'] = $LGD_PAYKEY; } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <?php foreach ($payReqMap as $key => $value) { echo "<input type='hidden' name='$key' id='$key' value='$value'>"; } ?> </form> </body> </html> 모바일에서 세션이 안잡혀서 노세션페이지로 바꿨습니다
function setLGDResult() { opener.document.getElementById('LGD_RESPCODE').value = document.getElementById('LGD_RESPCODE').value; opener.document.getElementById('LGD_PAYKEY').value = document.getElementById('LGD_PAYKEY').value; opener.payment_return(); window.close(); try { } catch (e) { alert(e.message); } }
</script> </head> <body onload="setLGDResult()"> <?php $LGD_RESPCODE = $_POST['LGD_RESPCODE']; $LGD_RESPMSG = $_POST['LGD_RESPMSG']; $LGD_PAYKEY = ""; $payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE; $payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG; if($LGD_RESPCODE == "0000"){ $LGD_PAYKEY = $_POST['LGD_PAYKEY']; $payReqMap['LGD_PAYKEY'] = $LGD_PAYKEY; } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <?php foreach ($payReqMap as $key => $value) { echo "<input type='hidden' name='$key' id='$key' value='$value'>"; } ?> </form> </body> </html> 모바일에서 세션이 안잡혀서 노세션페이지로 바꿨습니다
네, 노세션 페이지로 바꾸신 이후에
href 로 쿼리파람 추가 해서 세션 유지를 위한 작업을 하셨다고 이해하면 될까요?
결제 프로세스 중간에 href 가 있으면 안되어서요.
인증 결과 값이 전달되고, 승인 되기 전에 프로세스를 저 코드가 잡아먹고 있는것으로 보여요
<?php
/*
payreq_crossplatform 에서 세션에 저장했던 파라미터 값이 유효한지 체크
세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다.
*/
session_start();
if(!isset($_SESSION['PAYREQ_MAP'])){
echo "세션이 만료 되었거나 유효하지 않은 요청 입니다.";
return;
}
$payReqMap = $_SESSION['PAYREQ_MAP'];//결제 요청시, Session에 저장했던 파라미터 MAP
?>
<html>
<head>
<script type="text/javascript">
function setLGDResult() { opener.document.getElementById('LGD_RESPCODE').value = document.getElementById('LGD_RESPCODE').value; opener.document.getElementById('LGD_PAYKEY').value = document.getElementById('LGD_PAYKEY').value; opener.payment_return(); window.close(); try { } catch (e) { alert(e.message); } }
</script> </head> <body onload="setLGDResult()"> <?php $LGD_RESPCODE = $_POST['LGD_RESPCODE']; $LGD_RESPMSG = $_POST['LGD_RESPMSG']; $LGD_PAYKEY = ""; $payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE; $payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG; if($LGD_RESPCODE == "0000"){ $LGD_PAYKEY = $_POST['LGD_PAYKEY']; $payReqMap['LGD_PAYKEY'] = $LGD_PAYKEY; } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <?php foreach ($payReqMap as $key => $value) { echo "<input type='hidden' name='$key' id='$key' value='$value'>"; } ?> </form> </body> </html> 노세션페이지인데 파라미터작업이 제대로 안된걸까요?
function setLGDResult() { opener.document.getElementById('LGD_RESPCODE').value = document.getElementById('LGD_RESPCODE').value; opener.document.getElementById('LGD_PAYKEY').value = document.getElementById('LGD_PAYKEY').value; opener.payment_return(); window.close(); try { } catch (e) { alert(e.message); } }
</script> </head> <body onload="setLGDResult()"> <?php $LGD_RESPCODE = $_POST['LGD_RESPCODE']; $LGD_RESPMSG = $_POST['LGD_RESPMSG']; $LGD_PAYKEY = ""; $payReqMap['LGD_RESPCODE'] = $LGD_RESPCODE; $payReqMap['LGD_RESPMSG'] = $LGD_RESPMSG; if($LGD_RESPCODE == "0000"){ $LGD_PAYKEY = $_POST['LGD_PAYKEY']; $payReqMap['LGD_PAYKEY'] = $LGD_PAYKEY; } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <?php foreach ($payReqMap as $key => $value) { echo "<input type='hidden' name='$key' id='$key' value='$value'>"; } ?> </form> </body> </html> 노세션페이지인데 파라미터작업이 제대로 안된걸까요?
지금 전달주신건 세션페이지 인것 같아요
죄송합니다
<html>
<head>
<script type="text/javascript">
function setLGDResult() {
document.getElementById('LGD_PAYINFO').submit();
}
</script>
</head>
<body onload="setLGDResult()">
<?php
$LGD_RESPCODE = $_REQUEST['LGD_RESPCODE'];
$LGD_RESPMSG = $_REQUEST['LGD_RESPMSG'];
$LGD_PAYKEY = "";
$LGD_MID = $_REQUEST['LGD_MID'];
if($LGD_RESPCODE == "0000"){
$LGD_PAYKEY = $_REQUEST['LGD_PAYKEY'];
?> <form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="payres.php?siteno=<?=$siteno?>"> <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 ?>"/> <input type="hidden" id="LGD_MID" name="LGD_MID" value="<?= $LGD_MID ?>"/>
</form> <?php } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> </body> </html> form 태그안에있는 input값이 안넘어갔나요? payres.php 주소뒤에 파라미터로 다 붙혀서 넘길까요?
?> <form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="payres.php?siteno=<?=$siteno?>"> <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 ?>"/> <input type="hidden" id="LGD_MID" name="LGD_MID" value="<?= $LGD_MID ?>"/>
</form> <?php } else{ echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가 } ?> </body> </html> form 태그안에있는 input값이 안넘어갔나요? payres.php 주소뒤에 파라미터로 다 붙혀서 넘길까요?
세션 처리방식은 원하시는대로 하시면 될것 같은데, href 처럼 사이트 이동되는 방식만 채용하지 않으시면 될것 같아요
죄송합데 이해를못했습니다. 어디를 수정할까요?
오~
예전 세션유지 페이지 다시 사용해보니깐 됩니다..
XPay 결제 프로세스가
* payreq_cressplatform 에서 결체창 호출해서 인증 완료 하고
* returnurl 에서 인증 완료 값을 받아서
* payreq_crossplatform 에서 payres 로 승인을 위한 값을 전달하고
* payres 에서 승인 호출을 하게 되어 있는데
어떤 로직에서 이 프로세스를 탈취하시는지 명확하게는 이해되지 않지만, 결제프로세스 중간에 프로세스 완료 전에 사이트를 이동 시키는 것 같아요. 그래서 승인까지 완료되지 않아서 결제가 완료되지 않았던것으로 예상하고 있고
PHP 에서 세션을 유지하는 방법은 여러가지가 있는데, 쿼리파람으로 보내거나, session start 로 세션 값 저장해서 다른 php 페이지에서 이를 들고오도록 하거나 이건 어떻게 구현하셨는지에 따라서 다른것 이기 때문에, 이 부분까지 가이드 드리기는 너무 어렵습니다
노 세션 페이지 샘플 보시면 아시겠지만,
결제 파라미터를 세션에 저장해서 전달하던것을 다른 방식으로 풀어낸 것인데요
그 외 사이트의 로그인 세션 등을 어떻게 활용하시고 싶으신 지는 선택하셔서 구현 하시면 될것 같아요
단, 세션을 물고 결제 프로세스가 완료되기 전에 사이트를 이동시키는 로직이 없도록 구현 해주시면 될것 같습니다.
TT또안되네요..잠시작업파일정리하고진행하겠습니다. 불편드려죄송합니다!
알려주신대로해서 해결됐습니다
SSL로 연결해서 세션물고 사이트이동방식없이 해서 해결됐습니다
장시간 수고많으셨습니다. 감사합니다!
👍
고생 많으셨습니다!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.