costec
costec15mo ago

session

결제창에서 다음과 같은 오류가 발생합니다.
No description
50 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
김차장
김차장15mo ago
returnurl.asp 의 3번째 라인 코드부분과 개발자도구에서 보여지는 화면도 올려주세요 사용하시는 결제는 어떤것인지도 알려주세요 최근 거래가 없으신 상태이신데요 처음 연동하시는 케이스 이실까요? 연동에 사용하시는 연동가이드 문서도 있으시면 전달부탁드립니다
Kimoon Lee
Kimoon Lee15mo ago
이건 XPAY 에서 세션을 사용하는 코드로 연동하셨을때 최근 크롬에서 발생하는 에러입니다. returnurl.asp 파일 수정이 필요해 보이네요.
엄청난 마법사
추가적으로 크롬 세션의 samesite 설정이 none으로 셋팅되어있는지 확인 부탁드립니다 오전에 타 업체 문의주신 화면과 동일한 오류 발생했는데 Lax를 none으로 수정하여 결제완료 정상적으로 조치 되었습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
costec
costecOP15mo ago
1)returnurl.asp 의 3번째 라인 코드부분 =><%@ Language=VBScript %> <% Set payReqMap = Session.Contents("PAYREQ_MAP") 'payreq_crossplatform.asp 에서 세션에 저장했던 파라미터 값이 유효한지 체크 '세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다. if IsNull(payReqMap)then response.write "세션이 만료 되었거나 유효하지 않은 요청 입니다." end if %> 2)개발자도구에서 보여지는 화면도 올려주세요 => 결제가 이루어지는 화면의 소스를 올려드리면되는건가요? 3) 사용하시는 결제는 어떤것인지도 알려주세요 => XPay 최근 거래가 없으신 상태이신데요 처음 연동하시는 케이스 이실까요? => 이전에 사용했습니다. 연동에 사용하시는 연동가이드 문서도 있으시면 전달부탁드립니다
costec
costecOP15mo ago
No description
costec
costecOP15mo ago
홈페이지에서 결제화면입니다.
Kimoon Lee
Kimoon Lee15mo ago
여기 압축푸시면 returnurl.asp 파일이 있을겁니다. 지금 쓰시는 파일을 이 파일의 내용으로 변경하신후 다시 해보시면 될겁니다.
costec
costecOP15mo ago
보내주신파일의 내용으로 변경했을경우 session 에러 메세지는 나오지 않습니다. 그런데, 결제승인이 완료가 되었는데도 페이지가 넘어가지 않습니다. <body onload="setLGDResult()"> 에서 setLGDResult() 함수에 있는 parent.payment_return가 호출이 안됩니다.
Kimoon Lee
Kimoon Lee15mo ago
해당 상태에서 개발자 도구 콘솔쪽에 에러가 있는지 확인을 해주실수 있을까요? 그리고 payreq_crossplatform 파일에 parent.payment_return 함수가 있는지도 확인부탁드립니다.
costec
costecOP15mo ago
payreq_crossplatform 파일에 payment_return 함수가 있습니다.
No description
Kimoon Lee
Kimoon Lee15mo ago
네 그런데 호출이 안된다면 개발자 도구쪽에 에러가 있을것 같습니다. 에러 메시지 확인 부탁드립니다.
costec
costecOP14mo ago
결제창에서 아직도 페이지가 넘어가지않습니다.
costec
costecOP14mo ago
결제창 팝업이 열리고, 취소할경우 다음과 같은 메세지가 뜹니다. 그런다음 결제창닫기를 누르면 결제창이 닫혀야되는데 닫히지 않습니다.
No description
No description
costec
costecOP14mo ago
결제창닫기 버튼을 누르면, paywindowclose 실행하면 window.close 가 실행이 되어야하는데 실행이 되지 않습니다.
No description
Kimoon Lee
Kimoon Lee14mo ago
저희가 제공해 드리는 샘플에는 paywindowclose 가 없습니다. 해당 코드를 어디서 참조하신 것인지 확인부탁드립니다.
costec
costecOP14mo ago
저희쪽에서 작성한 코드입니다.
유부장
유부장14mo ago
paywindowclose 는 직접 작성하신 코드인데, 이 코드가 정상동작하지 않아서 저희에게 문의주신것으로 이해 하면 될까요..?
Kimoon Lee
Kimoon Lee14mo ago
해당 코드를 왜 작성하셨는지 작성하신분에게 문의 부탁드립니다. 저희가 드린 샘플에는 parent.payment_return() 을 호출하고 payreq 파일에서 인증성공이 아니면 closeIframe 으로 결제창을 닫도록 되어 있습니다. 왜 저희 가이드대로 안하시고 임의로 코드를 만들어서 처리하시는 건지 개발자 분께 문의해 주시기 바랍니다. 특별한 의도가 없으시다면 저희 샘플대로 구현해주세요.
costec
costecOP14mo ago
parent.payment_return() 이 호출되지 않아서 혹시 윈도우에 문제가 있는지 확인하기 위해 결제닫기버튼을 넣어본겁니다.
Kimoon Lee
Kimoon Lee14mo ago
코드상으로는 returnurl 이 호출되고 onload 되면 setLGDResult() 가 자동으로 호출되고 parent.payment_return() 가 호출되게 되어 있습니다. 그런데 paywindowclose 는 어떻게 실행시키시는 건가요? 보내주신 코드에는 paywindowclose 를 호출하는 코드가 없는데요.
costec
costecOP14mo ago
paywindowclose 호출하는 버튼을 삭제하고, 말씀하신대로 샘플대로 작성했지만, 코드상으로는 returnurl 이 호출되고 onload 되면 setLGDResult() 가 자동으로 호출되지만 parent.payment_return() 가 호출되지 않습니다.
costec
costecOP14mo ago
No description
No description
No description
costec
costecOP14mo ago
첫번째 화면에서 인증요청을 하면 두번째 화면처럼 결제창이 뜹니다. 여기서 취소버턴을 누르면 세번째 화면 처럼 메세지가 나옵니다. 그런다음 parent.payment_return() 가 호출되어야하는데 호출이 안됩니다.
Kimoon Lee
Kimoon Lee14mo ago
setLGDResult() 가 자동으로 호출되지만 parent.payment_return() 가 호출되지 않습니다.
라는게 잘 이해 되지 않는데요 보내주신 3번째 화면에서 브라우저 개발자 콘솔상에 에러가 있는지 확인부탁드립니다. 보내주신코드상 parent.payment_return() 은 호출 시도를 했을거고 뭔가 다른이슈때문에 해당 method가 동작하지 않은것으로 보입니다.
costec
costecOP14mo ago
세번째 화면 파일은 returnurl.asp 입니다.
No description
costec
costecOP14mo ago
returnurl.asp 파일의 소스입니다. 결제는 토스페이먼츠에서 넘어가기전에는 잘되었습니다. 토스로 넘어간이후로 결제가 이루어지지 않고 있습니다.
유부장
유부장14mo ago
처음부터 정리 합니다. 1. 지금 홈페이지에 SSL 인증서 적용안된 홈페이지 인것으로 보입니다. 가능하면 SSL 인증서 적용 해주세요. 결제와 상관 없이 구글 크롬 등 브라우저에서 SSL 인증서 적용 안된 홈페이지 접근 자체를 막을 수 있습니다. 2. 냥과장님께서 예전에 ASP 샘플 전달 하셨을 겁니다. returnurl.asp 만 바꾸고 나머지는 예전 소스 그대로 사용하시는거 맞나요? 3. 여기에서 이야기 하는 "결제" 라는 것에 대한 명확한 설명 부탁 드립니다. 결제창을 띄우고, 특정 결제수단을 선택해서, 해당 결제수단을 통해 모든 액션을 마무리 한 이후 진행이 안된다, 라는 의미 맞나요? 4. 토스페이먼츠가 전달한 파일내 소스를 임의로 수정해서 운영하는 것은 저희가 가이드 드리기 어렵습니다. 이 부분은 꼭 인지 해주세요
Kimoon Lee
Kimoon Lee14mo ago
이 화면에서 개발자 도구 띄우셔서 콘솔에 에러가 있는지 확인해주세요.
No description
costec
costecOP14mo ago
네 해당홈페이지 주소는 http://medicarepharm.co.kr/ 입니다.
Kimoon Lee
Kimoon Lee14mo ago
콘솔에 에러는 확인해 보셨나요? 그리고 해당 사이트 가입이 좀 어려워 보이는데, 테스트 할수 있는 계정도 있으면 공유 부탁드립니다.
costec
costecOP14mo ago
아이디:이송이 / 비밀번호:8029 입니다. 상단에 주문서를 클릭 주문서리스트에서 주문번호:505 에서 결제하기 버튼 클릭 결제하기 화면에서 결제하기버튼클릭 결제하기 화면에서 인증버튼 클릭 이순서로 테스트 해주시면됩니다.
Kimoon Lee
Kimoon Lee14mo ago
GET http://medicarepharm.co.kr/mall/product/payreq_crossplatform.asp 500 (Internal Server Error) 이에러가 주기적으로 나고 있는데요. 이부분 확인부탁드립니다.
Kimoon Lee
Kimoon Lee14mo ago
No description
Kimoon Lee
Kimoon Lee14mo ago
이미 해당 페이지에 들어와서 다시 페이지를 계속 폴링하시는것 같고 그 결과아래와 같이 에러가 발생하고 있습니다.
Kimoon Lee
Kimoon Lee14mo ago
No description
costec
costecOP14mo ago
Kimoon Lee
Kimoon Lee14mo ago
어떤 용도이신지는 모르겠는데, 이부분 때문에 계속 호출이 되는것으로 보입니다.
Kimoon Lee
Kimoon Lee14mo ago
No description
Kimoon Lee
Kimoon Lee14mo ago
이것과 별개로 X 눌렀을때는 정상적으로 동작하시는것 같은데요.
Kimoon Lee
Kimoon Lee14mo ago
No description
Kimoon Lee
Kimoon Lee14mo ago
본인 PC 말고 다른 PC 나 다른 브라우저에서 한번 해보세요. 별도로 취소 말고 결제시에 문제가 있는것 같습니다.
function payment_return() {
var fDoc;

fDoc = lgdwin.contentWindow || lgdwin.contentDocument;


if (fDoc.document.getElementById('LGD_RESPCODE').value == "0000") {

document.getElementById("LGD_PAYKEY").value = fDoc.document.getElementById('LGD_PAYKEY').value;
document.getElementById("LGD_PAYINFO").target = "_self";
document.getElementById("LGD_PAYINFO").action = "payres.php";
document.getElementById("LGD_PAYINFO").submit();
} else {
alert("LGD_RESPCODE (결과코드) : " + fDoc.document.getElementById('LGD_RESPCODE').value + "\n" + "LGD_RESPMSG (결과메시지): " + fDoc.document.getElementById('LGD_RESPMSG').value);
closeIframe();
}
function payment_return() {
var fDoc;

fDoc = lgdwin.contentWindow || lgdwin.contentDocument;


if (fDoc.document.getElementById('LGD_RESPCODE').value == "0000") {

document.getElementById("LGD_PAYKEY").value = fDoc.document.getElementById('LGD_PAYKEY').value;
document.getElementById("LGD_PAYINFO").target = "_self";
document.getElementById("LGD_PAYINFO").action = "payres.php";
document.getElementById("LGD_PAYINFO").submit();
} else {
alert("LGD_RESPCODE (결과코드) : " + fDoc.document.getElementById('LGD_RESPCODE').value + "\n" + "LGD_RESPMSG (결과메시지): " + fDoc.document.getElementById('LGD_RESPMSG').value);
closeIframe();
}
payment_return 코드를 이렇게 바꿔주세요. 지금 보면 필요없는 내용이 많습니다.
costec
costecOP14mo ago
소스를 수정하고 결제를 했습니다. 다음과 같은 결과 화면이 나옵니다.
No description
Kimoon Lee
Kimoon Lee14mo ago
payment_return 코드에 문제가 있습니다. 위에 설명드린것 참조하세요. 그리고 브라우저에서 개발자 도구 열어 보시면 에러가 다 보이실겁니다. 이부분 참고해서 수정해 주세요.
costec
costecOP14mo ago
결제창에서 Uncaught DOMException: Failed to read a named property 'payment_return2' from 'Window': Blocked a frame with origin "http://medicarepharm.co.kr" from accessing a cross-origin frame. at setLGDResult2 (http://medicarepharm.co.kr/returnurl.asp:18:14) at HTMLInputElement.onclick (http://medicarepharm.co.kr/returnurl.asp:32:61) 같은 오류가 발생하면서 payment_return 접근이 안됩니다. 여러 경로로 방법을 찾아봤지만, 해결이 안되서 참고할 만한 소스를 제공해주실수 있으신지요.
No description
today.lastday
today.lastday14mo ago
해당 에러는 결제창 호출과 return 페이지 url이 다른 경우 발생하는 에러인데요. 주소 확인 부탁드려요. 라이브 환경인 경우 결제창과 return페이지 둘다 https:// 로 처리될 수 있도록 해주시구요.
Kimoon Lee
Kimoon Lee14mo ago
결제창을 띄운 도메인은 http://www.medicarepharm.co.kr/ 인데 returnURL 이 http://medicarepharm.co.kr/returnurl.asp 라서 도메인이 안맞으시는 거에요. returnURL 을 http://www.medicarepharm.co.kr/returnurl.asp 으로 설정해 주세요.
costec
costecOP14mo ago

Did you find this page helpful?