갤럭시 결제창 접근 불가(존재하지 않는 상점아이디입니다. 토스페이먼츠에 문의바랍니다.)_재질문
한가지 여쭐게 있어서 다시 질문드립니다.
내부 소스문제로 확인했던 부분 수정하였는데 자바단에서 소스 수정해서 반영하였는데도
반응형 화면일 때
<input type="hidden" name="LGD_RETURNURL" id="LGD_RETURNURL" value= "해당URL">
해당 URL 부분이 수정되지가 않아서요
개발파트 담당자는 수정을 했는데도 반영이 안되는 부분이 이상하여 혹시 토스측에서 컨트롤하는 부분이 있는지 확인이 필요하다고 합니다
일부 함수를 적용하였을 때 토스서버에서 소스를 반영하는 로직이 있을까요?
57 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
새로 LGD_OID 채번하여서 진행하신걸까요?
소스 수정 시 동반해야하는 과정인가요?
제가 작업한 개발자는 아니어서 확인이 필요합니다
브라우저 캐시 문제는 아닌지 확인해 보시고,
LGD_OID 값을 새로 채번하여(결제를 처음부터 진행) 진행해보시기 바랍니다.
새로 채번한다고 하심은 결제건을 새로 생성(예약 건이라면 새로 예약) 해서 진행해보라는 말씀이실까요?
네네 처음부터요
두세번 해보아도 안되네요 ㅠㅠ
별도로 토스에서 해당 값을 오버라이딩하는 동작은 없구요.
고객사에서 결제창 오픈시에 Form에 담아주신 값을 그대로 이용합니다.
혹시 해당 서버를 잠시 중지해도 된다면,
개발자분께 WAS를 재기동해보라고 전달해보시기 바랍니다.
소스 업로드 시에 필요해서 해보았지만 같습니다..ㅠㅠ
답변 감사드려요
어쨌든 우리측 문제인 것으로 확인받았습니다
그러면 뭔가 반영이 안된것 같은데, 한번 LGD_OID 값 확인하셔서 전달해 주시면
토스에서도 어떻게 요청이 왔는지 다시한번 확인을 해볼 수 있습니다.
<input type="hidden" name="LGD_OID" id="LGD_OID" value="fclty_1690_337_20250103153712">
이 부분이 맞을까요?
네 맞습니다.
혹시 확인 되는 부분이 있으실까요?
이건 HTML 쪽 아닌가요?
HTML 태그 값이 변경이 안되시는 거라, 저희랑 관련 없습니다.
네 맞습니다 ㅠㅠ 혹시나 해여 여쭤봤어요
감사합니다
혹시 상점아이디랑 머트키 일치하는지 확인가능할까요?
문의자분이 말씀하시는 내용은
HTML에서 LGD_RETURNURL을 수정하였으나 Redirect는 수정 전 RETURNURL로 리다이렉트가 되는 증상입니다.
그래서 OID값 확인해서 로그확인으로 LGD_RETURNURL이 제대로 수정되었는지를 확인받는게 좋을 것 같아 가이드드렸 습니다.
WJ_HB_TENNIS_CST_MID=WJ_HB_TENNIS
M_WJ_HB_TENNIS_CST_MID=M_WJ_HB_TENNIS
사용하고 있는 상점아이디인데요, 혹시 정상 상태인지 확인 부탁드립니다
어떤게 상점아이디일까요?
WJ_HB_TENNIS
M_WJ_HB_TENNIS 이렇게가 상점아이디인걸까요?
네 맞습니다
수정 후 요청했다고 생각되는 주문번호와,
수정 전 진행 했다고 생각되는 주문번호 두개를 전달 부탁 드립니다.
결제가 진행이 안됐는데 주문번호가 생성이 되는 부분이 있을까요?
결제 진행전부터 LGD_OID로 넘기고 계실거에요
이렇게 전달 주셨듯이, 전달 주시면 됩니다.
수정 전 : <input type="hidden" name="LGD_OID" id="LGD_OID" value="fclty_1690_337_20250103170454">
수정 후 : <input type="hidden" name="LGD_OID" id="LGD_OID" value="fclty_1690_357_20250103170517">
cc @유부장
제가 이것만 보고 있지는 않아서, 멘션은 자제 부탁 드릴게요
둘다 이력 확인되지 않습니다.
결제창이 정상적으로 뜨기는 했나요?
현재 모바일 화면에서 결제창 호출 시
이렇게 나오고 있습니다
CST_PLATFORM 은 뭐로 보내고 있고,
mall.conf 하단에 MID 는 어떤것들이 있는 상태 인가요?
머트키는 복사하지 말고, MID 만 알려주세요.
MID : M_WJ_HB_TENNIS
CST_PLATFORM=test
이렇게 반영되어 있습니다
mall.conf 하단에 MID 는 어떤것들이 있는 상태 인가요?
머트키가 포함되어 있어서 전문 붙여드리기는 어렵지만
위에 적어드린 MID는 포함되어 있습니다
그냥 다 알려주세요
그래야 파악이 됩니다.
t 로 시작하는 값이 있나 보려고 하는거에요
WJ_HB_TENNIS
tWJ_HB_TENNIS
M_WJ_HB_TENNIS
tM_WJ_HB_TENNIS
이런식으로 되어있느냐는 의미 입니다
tWJ_NATIONAL
WJ_NATIONAL
tM_WJ_NATIONAL
M_WJ_NATIONAL
tWJ_TENNIS
WJ_TENNIS
tM_WJ_TENNIS
M_WJ_TENNIS
tWJ_SEWAGE
WJ_SEWAGE
tM_WJ_SEWAGE
M_WJ_SEWAGE
tfutsal
futsal
tM_futsal
M_futsal
tWJ_baseball
WJ_baseball
tWJ_softball
WJ_softball
tM_WJ_baseball
M_WJ_baseball
tM_WJ_softball
M_WJ_softball
WJ_FACILITY
M_WJ_FACILITY
tWJ_FACILITY
tM_WJ_FACILITY
WJ_SEWAGE1
M_WJ_SEWAGE1
tWJ_SEWAGE1
tM_WJ_SEWAGE1
WJ_TENNIS1
M_WJ_TENNIS1
tWJ_TENNIS1
tM_WJ_TENNIS1
futsal1
M_futsal1
tfutsal1
tM_futsal1
wonjuifwgw
twonjuifwgw
tWF_futsal1
tM_WF_futsal1
WF_futsal1
M_WF_futsal1
tWF_TENNIS1
tM_WF_TENNIS1
WF_TENNIS1
M_WF_TENNIS1
tWJ_HWANGYUNG
tM_WJ_HWANGYUNG
WJ_HWANGYUNG
M_WJ_HWANGYUNG
tWJ_HB_TENNIS
tM_WJ_HB_TENNIS
WJ_HB_TENNIS
M_WJ_HB_TENNIS
이렇게 되어있습니다
해당하는 상점아이디는 최 하단에 네줄 있습니다
좋습니다.
CST_PLATFORM=test 로 보낼때,
LGD_MID 값이 어떻게 전달되도록 설정 되어있나요?
CST_MID 앞에 t 를 붙인다는 로직이 있어야 하는데, 이렇게 되어 있나요?
결과적으로
CST_PLATFORM=test 라면
LGD_MID 는 = tMID 이런식으로 되어야 하는데
이렇게 되어 있는지에 대한 질문 입니다
<input type="hidden" name="LGD_MID" id="LGD_MID" value="M_WJ_HB_TENNIS">
이렇게 보내고 있는거 같습니다
네 좋습니다
test 일때는 LGD_MID 앞에 t 가 붙도록 해야 합니다.
값을 고정하고 있어서 문제가 되시는것 같아요.
테스트 하려면, LGD_MID 에 t 붙여서 진행 하세요.
테스트 단계는 아닙니다 실제로 진행중인데요
CST_PLATFORM=test 로 보내고 있다고 하셨잖아요?
CST_PLATFORM=test 의미가
테스트 결제를 낸다, 라고 요청한다는 의미 입니다
방금 소스상에서
모바일 OID에 M_WJ_HB_TENNIS 로 반영되어 있던부분을
WJ_HB_TENNIS로 수정해서 재기동했는데 결제가 진행되긴합니다
혹시 이상이 없을까요?
저희 샘플페이지 기준으로 결제창호출 / 승인요청 페이지의 MID관련 필드는 아래와 같이 되어 있습니다.
String CST_PLATFORM = request.getParameter("CST_PLATFORM"); //토스페이먼츠 결제서비스 선택(test:테스트, service:서비스)
String CST_MID = request.getParameter("CST_MID"); //토스페이먼츠로 부터 발급받으신 상점아이디를 입력하세요.
String LGD_MID = ("test".equals(CST_PLATFORM.trim())?"t":"")+CST_MID; //테스트 아이디는 't'를 제외하고 입력하세요.
실제로 결제창으로 넘어가는 form 은 LGD_MID 입니다.
지금 CST_PLATFORM = test 로 넘기고 있다면, 최종적으로 LGD_MID 는 , 설정한 MID 앞에 t가 붙어야 합니다. 그런데 만일 LGD_MID 를 고정해버리거나 저 구문을 주석으로 막아버리면 앞에 t가 붙지 못하기 때문에 보내주신 에러가 발생합니다
ex) CST_PLATFORM = test // CST_MID = M_WJ_HB_TENNIS 으로 셋팅시 => LGD_MID = tM_WJ_HB_TENNIS 로 설정 , 테스트모드로 작동
CST_PLATFORM = service 이거나 빈값 // CST_MID = M_WJ_HB_TENNIS 으로 셋팅시 => LGD_MID = M_WJ_HB_TENNIS 로 설정 , 운영모드로 작동 입니다.
확인해보니 실서버에는 service라고 적용되어 있네요
혹시 pc 모바일 머트키가 같은 경우가 있을 수 있을까요?
일부 예외적인 업체를 제외하고는 mertkey는 MID와 일대일입니다.
WJ_HB_TENNIS
그리고 mertkey에러가 나면, 해쉬값 검증에러가 발생하며, MID누락이 발생하지 않습니다
혹시 이 MID의 머트키가 같은지 확인이 가능하실까요?
개발자센터에서 직접 확인가능합니다.
사업자로 등록된 전체 MID의 mertkey 확인이 가능합니다
아 감사합니다. 제가 토스 관리자 페이지를 직접 본적은 없어서요
기관 담당자에게 확인해보겠습니다
WJ_HB_TENNIS 과 어떤걸 비교해보면 될까요?
WJ_HB_TENNIS , M_WJ_HB_TENNIS
이 둘의 머트키가 같은지 확인해보려고 합니다
M_WJ_HB_TENNIS 는 존재하지 않는 MID입니다.
이 MID로 결제요청하면 테스트던 운영이던 존재하지 않는 MID로 에러가 발생합니다
아...
찾았네요..ㅠㅠ
가맹점에서 PC용과 모바일용 결제를 구분할수 없어서, 거래를 구분하기 위한 용도가 아니면
굳이 PC용과 모바일용 MID를 나눌 필요는 없어보입니다..보통은 하나로 PC 모바일 둘다 씁니다
잠시만요 M_ 가 붙은 MID가 또 있나 보겠습니다
아닙니다 지금은 관련 프로그램에서 사용하는 모든 상점아이디에서 "M_" 는 삭제한 상태입니다
M_WF_NMCUL2 , M_WF_TENNIS1 , M_WF_futsal1 이거 세개밖에는 없습니다
확인했습니다.
답변 너무 감사드립니다 여러분, 명확하게 해결되어 기쁩니다.
새해 복 많이 받으세요 ㅎㅎ
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.