테스트 결제 결과 문의
결제 테스트 진행 후
결과에 링크 이동이나 처리가 따로 안 보이고
아래 화면에서 정지되는데요
입력한 LGD_RETURNURL 페이지로 이동하지 않습니다
168 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.

LGD_OID 정보를 회신부탁드립니다.
202509010948346008
입니다
토스페이먼츠 개발자 센터 테스트 결제 내역에도 안 뜨구요
예 returnurl까지 못갔으면 승인요청을 못했기 때문에 결제내역에는 안뜨는게 맞습니다
저희쪽 결제창 로그를 좀 보고 회신드리겠습니다
LGD_RETURNURL이 잘못된 형식으로 넘어왔습니다
LGD_RETURNURL=//www.smile.littlefox.co.kr/ko/user/subscribe_payment_returnurl
이렇게 넘어왔습니다.
http:// 또는 https:// 와 같이 앞에 프로토콜을 추가한 full url로 설정하여 결제창을 띄위주세요
그리고 상품명 (LGD_PRODUCTINFO) 한글이 깨졌습니다. xpay는 디폴트가 euc-kr이기 때문에, 만일 utf-8을 그대로 넘기면 상품명이 깨집니다.
LGD_PRODUCTINFO=[�⑥껜] 由ы������ 12媛��� 寃곗�
아래 세개 필드를 결제창 호출 form 에 추가해주시고 value=UTF-8 로 설정해보시겠어요?
LGD_ENCODING
LGD_ENCODING_NOTEURL
LGD_ENCODING_RETURNURL
ex)
<input type="hidden" id="LGD_ENCODING" name="LGD_ENCODING" value="UTF-8"/>
<input type="hidden" id="LGD_ENCODING_NOTEURL" name="LGD_ENCODING_NOTEURL" value="UTF-8"/>
<input type="hidden" id="LGD_ENCODING_RETURNURL" name="LGD_ENCODING_RETURNURL" value="UTF-8"/>
service로 했을때는 안 깨지는데 test일 때만 깨져서요
일단 보내주신대로 해보겠습니다
요청한 LGD_PAYKEY 가 존재하지 않습니다.
라고 나오네요
인증은 라이브, 승인은 테스트 로 진행하셨어요
인증, 승인 모두 service 나 test 로 동일하게 진행해주시면 될 것 같네요.
저번 주 금요일에 문의드렸었는데요 기대리님 말씀대로
그때 littlefox1 아이디로 써야 돼서
mid를 littlefox1, platform 설정을 test로 하고 실 결제일때 service로 하라고 하셔서요
히스토리를 몰라서 기존에 littlefox1, tlittlefox1로 두 개가 생성이되었다고
littlefox1로 사용하라고 하셨엇어요
네 맞습니다.
그런데 지금은 어떤식으로 되었냐하면요.
CST_MID = littlefox1 , CST_PLATFORM = service 로
결제창을 호출해서 LGD_PAYKEY 를 응답 받고,
CST_MID = littlefox1 , CST_PLATFORM = test 로
LGD_TXNAME=paymentByKey 로 승인요청을 하셨어요.
둘다 라이브로 하려면 승인쪽도 test -> service 로 해보시면 됩니다.
위 LGD_PAYKEY 로 인증/승인 요청 환경이 다르게 들어왔거든요
결제 모듈 띄울때 test로 보냈는데 이부분이 말고도 있다는 말씀이신건가요
잠시만요
네, LGD_TXNAME=PaymentByKey 가 있는 승인쪽 확인해주시면 됩니다.
여기를
$xpay->Set("LGD_TXNAME", "test");로 보내야 한다는 건가요?
아 이쪽에서 tlittlefox1로 들어갔나요 혹시?
네 그쪽에서 tlittlefox1 로 들어왔습니다.
수정했는데 이번에는
존재하지 않는 LGD_MID 입니다.[littlefox1]
이렇게 나오네요 추가 수정할 곳이 있을까요
mall.conf 파일 하단에
littlefox1 = mertkey
tlittlefox1 = mertkey
이 두개가 모두 있나요?
결제요청페이지의 configPath 경로상에 있는 conf/mall.conf 파일을 확인해보셔야 합니다.
네 둘 다 있어요
tlittlefox1은 주석해야할까요
아니요 mall.conf 안의 mid = mertkey 항목은 주석처리하지 마세요
lgdacom.conf 안에 지정된 url 정보는 어떻게 되나요?
mall.conf 안에
littlefox1 = mertkey
tlittlefox1 = mertkey
이거 두개가 모두 활성화 되어야 service, test 모두 할수 있습니다
둘다 되어 있어요
그리고 tlittlefox1 이거는 못쓴다고 하셨어요 저번에
네 그럼 log 폴더 안에 기록된 오늘날짜 로그파일 전체를 techsupport@tosspayments.com 으로 전달해주시면
littlefox1로 둘 다 사용해야 한다고 하셨어요
상황을 좀 정리해드릴께요.
littlefox1 이건 service 용 MID입니다..이건 지금 정상입니다.
이거는 결제요청시 CST_PLATFORM = service 로 요청시 littlefox1 로 결제가 됩니다.
tlittlefox1 이건 test 용 MID입니다..
이거는 결제요청시 CST_PLATFORM = test 로 요청시 tlittlefox1 로 결제가 됩니다.
그런데 이전 문의시 tlittlefox1 이걸 못쓴다고 안내를 받으신건가요?
잠시만요 기존에 남긴 글 링크 보내드릴게욥
아 저도 확인했습니다.
MID가 좀 햇깔리게 되었네요..
네 맞아요
왜 이렇게 되었는지는 저도 잘...
지금 (주) 리틀팍스로 MID가 여러개가 발급됬는데, 일단 운영용 (service) 로만 말씀드리면
littlefox1 (테스트는 tlittlefox1 )
tlittlefox1 (테스트는 ttlittlefox1 )
이렇게 발급되어 있습니다. 그런데, tlittlefox1 는 운영쪽이 해지가 되었습니다. 그래서 littlefox1 (테스트는 tlittlefox1 ) 만 사용가능합니다.
정리하면
CST_PLATFORM = service CST_MID = littlefox1 LGD_MID = littlefox1 => 운영
CST_PLATFORM = test CST_MID = littlefox1 LGD_MID = tlittlefox1 => 테스트
이렇게만 사용할수 있습니다. mall.conf 에는 아래 값이 있어야 합니다.
littlefox1 = littlefox1 의 mertkey
tlittlefox1 = littlefox1 의 mertkey (운영용 mertkey 와 test용 mertkey는 동일해야함)
이것 다시한번만 확인후 테스트를 진행해보시고, 동일하게 에러가 나면 log 폴더 안에 기록된 오늘날짜 로그파일 전체를 techsupport@tosspayments.com 으로 전달부탁드립니다. (mall.conf 파일도 함께 전달부탁드립니다)
그러면 테스트를 하려면 cst_mid이건 littlefox1로 설정하고 lgd_mid는 tlittlefox1로 설정해야 된다는 건가요?
네 맞습니다
저희는 지금 cst_mid = 'littlefox1' 해놓고
lgd_mid = cst_mid로 쓰고잇었거든요
별개 설정으로 해보겟습니다
저희 샘플은 이렇게 되어 있어요
$LGD_MID = (("test" == $CST_PLATFORM)?"t":"").$CST_MID; //상점아이디(자동생성)
그래서 CST_PLATFORM 가 test 가 아니면 (운영), CST_MID = LGD_MID 이지만,
CST_PLATFORM 가 test가 아니라면 , 반드시 LGD_MID는 운영용 MID (CST_MID) 앞에 t를 붙여야 합니다.
그렇게 쓰고잇는데 오류가나서
문의드렸던 거였거든요
네 그럼 저렇게 원상복구 하시고, 에러가 나면 로그파일과 mall.conf를 전달해주세요
어떤 로그를 드리면 될까요
모듈 진입할때 이슈라서 따로 남기는 로그 자체가 없어서요
log 폴더 안에 기록된 오늘날짜 로그파일 전체입니다.
mall.conf 안에 보시면 log_dir 경로가 있는데
여기에 로그파일이 하나도 안남았다는 말씀이실까요?
잠시만요
확인해서 문의드릴게요
메일 문의 말고는 디스코드 문의는 힘들까요 ?
여긴 익명사용자들이 보는 곳이다 보니, 가맹점정보가 기록된 로그파일 공유는 위험하기 때문에 메일로 전달을 부탁드렸습니다
그럼 일단 초기 세팅(어제 문의드렸던 시점)으로 롤백해서
테스트하고 해당 로그 보내드릴게요
보내고 여기로 말씀드려도 괜찮을까요
넵 파일만 메일로 주시고 소통은 여기서 계속 하겠습니다
네 파일 보내드렷습니다
네 메일확인했습니다. 저희도 내부재현해보고 회신드리겠습니다
네 추가 파일 하나 더있길래 같이 추가해서 보냈습니다
테스트를 해보았는데, 일단 MID의 테스트 설정에는 문제가 없습니다.
LGD_MID = tlittlefox1
LGD_IFOS = 406C0C
LGD_FINANCENAME = 우리
LGD_DELIVERYINFO =
LGD_BUYER = %ED%97%88%EC%A7%80%ED%9B%88
LGD_OID = test_20250901115603
LGD_BUYERID =
LGD_RECEIVERPHONE =
LGD_ACCOUNT_TYPE = 0
LGD_2TR_FLAG = Y
LGD_TID = tlitt20250901115618vKVX7
LGD_DEVICE =
LGD_SAOWNER = (주)리틀팍스
LGD_FINANCECODE = 20
LGD_TIMESTAMP = 20250901115619
LGD_BUYERPHONE =
LGD_ESCROWYN = N
LGD_PAYTYPE = SC0040
LGD_CASFLAG = R
LGD_AMOUNT = 1000
LGD_CASCAMOUNT = 0
LGD_CASTAMOUNT = 0
LGD_BUYERSSN = .
LGD_RESPMSG = 20:
LGD_PAYDATE = 20250901115618
LGD_PRODUCTINFO = myLG070-인터넷전화기
LGD_PRODUCTCODE =
LGD_CASSEQNO = 000
LGD_HASHDATA = 74c17e9c0d8644c835d2b2886e7a1f8b
LGD_BUYERADDRESS =
LGD_RESPCODE = 0000
LGD_RECEIVER =
LGD_ACCOUNTNUM = X6516530018091
LGD_PAYER = test
LGD_BUYEREMAIL =
아래와 같이 설정을 한후 테스트를 해주세요.
test모드일때
* 결제창호출 js :
<script language="javascript" src="https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
CST_PLATFORM = test
CST_MID = littlefox1
LGD_MID = tlittlefox1
* 승인요청 페이지
CST_PLATFORM = test
CST_MID = littlefox1
LGD_MID = tlittlefox1
운영모드일때
* 결제창호출 js :
<script language="javascript" src="https://xpay.tosspayments.com/xpay/js/xpay_crossplatform.js" type="text/javascript"></script>
CST_PLATFORM = service
CST_MID = littlefox1
LGD_MID = littlefox1
* 승인요청 페이지
CST_PLATFORM = service
CST_MID = littlefox1
LGD_MID = littlefox1
mall.conf 안의 파일은 일단 정상인것 같은데
littlefox1 = 93a8
tlittlefox1 = 93a8
이렇게 시작하는것 이외에 중복된 MID가 다른 key로 있다면 그부분은 주석처리 해주세요
ex)
littlefox1 = 93a8.............
tlittlefox1 = 93a8.............
;tlittlefox1 = 9566.................
따로 중복은 없어요
예, 중복 없으면 관계 없습니다
저 설정 중에 필수 항목이 어떤건가요?
저희는 폼 항목을 이렇게 보내고 있거든요
<input type="hidden" name="CST_MID" id="CST_MID" value="littlefox1">
<input type="hidden" name="CST_PLATFORM" id="CST_PLATFORM" value="test">
이렇게 설정했다면,
<input type="hidden" name="LGD_MID" id="LGD_MID" value="tlittlefox1">
이렇게 값이 들어가야 합니다.
저 세 값은 php 코드에서 아래와 같이 입력받는것으로 되어 있으실텐데요.
<input type="hidden" id="CST_PLATFORM" name="CST_PLATFORM" value="<?=$CST_PLATFORM ?>"/>
<input type="hidden" id="CST_MID" name="CST_MID" value="<?=$CST_MID ?>"/>
<input type="hidden" id="LGD_MID" name="LGD_MID" value="<?=$LGD_MID ?>"/>
상단 PHP에서는 이렇게 처리가 됩니다.
$CST_PLATFORM = $_POST["CST_PLATFORM"]; //토스페이먼츠 결제 서비스 선택(test:테스트, service:서비스)
$CST_MID = $_POST["CST_MID"]; //상점아이디(토스페이먼츠으로 부터 발급받으신 상점아이디를 입력하세요)
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
$LGD_MID = (("test" == $CST_PLATFORM)?"t":"").$CST_MID; //상점아이디(자동생성)
CST_PLATFORM = test일때
CST_MID = littlefox1
LGD_MID = tlittlefox1
CST_PLATFORM = service 일때
CST_MID = littlefox1
LGD_MID = littlefox1
<input type="hidden" name="LGD_MID" id="LGD_MID" value="tlittlefox1">
이렇게 들어가면 아까 말씀드린 거처럼
업체 사정으로 인해 결제를 일시 중지하였습니다. 상점으로 문의하시기 바랍니다.라는 창으로 나와요
<input type="hidden" name="LGD_MID" id="LGD_MID" value="tlittlefox1">
테스트일때
CST_PLATFORM = test일때
CST_MID = littlefox1
LGD_MID = tlittlefox1
>> 업체 사정으로 인해 결제를 일시 중지하였습니다. 상점으로 문의하시기 바랍니다.
테스트일때
CST_PLATFORM = test일때
CST_MID = littlefox1
LGD_MID = littlefox1
>> 존재하지 않는 LGD_MID 입니다.[littlefox1]
이렇게 보내셨을때 CST_PLATFORM 값을 뭘로 보내셨는지 확인부탁드릴께요.
둘다 TEST입니다
test
주문번호 202509011342407054 로 ">> 업체 사정으로 인해 결제를 일시 중지하였습니다. 상점으로 문의하시기 바랍니다" 에러 확인되는데, 이걸로 다시 확인해보겠습니다.
넵!
결제창띄울때
https://xpay.tosspayments.com/xpay/js/xpay_crossplatform.js
이걸로 불렀는데요..이건 운영입니다
https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js
이걸로 변경후 다시 진행해보시겠어요?
저희 소스에 따로 js 호출하는 곳이 없어요 음..
서버에서 호출을하나 확인해봐야겟네요
잠시만요
저걸 호출안하면 결제창이 안뜹니다
202509011342407054 신청한게 그런거죠?
202509011348187058
이것도 그렇게 들어가나요 js호출이
지금
202509011351147061 로 결제 진행 햇는데
lgd_id = 'tlittlefox1'
마찬가지로 그러네요
sandbox로 변경했거든요
202509011342407054 , 202509011348187058 는 전부 xpay로 들어왔습니다.
202509011351147061 는 xpay-sandbox 로 들어왔습니다. 이걸로 다시 확인해보겠습니다
넵!
지금 PC로 테스트 하셨죠?
spq
넵
form 에 몇개 필수필드가 없는데
지금 설정 그대로 두시고 form 에 아래 필드 추가해서 테스트 부탁드립니다
네 어떤 필드 추가하면 될까요
-->
<input type="hidden" id="LGD_VERSION" name="LGD_VERSION" value="PHP_Non-ActiveX_Standard"/>
<input type="hidden" id="LGD_DOMAIN_URL" name="LGD_DOMAIN_URL" value="xpayvvip"/>
테스트 시에만 추가하면 되나요?
아니요 운영때도입니다
일반 라이브에서는 지금 잘 적용되고 있어서요
지장이 없겟죠
네 그럼 테스트시에만 적용해주세요
저건 원래 테스트/운영 모두 고정값이긴 합니다
그리고 지금 PC이면
<input type="hidden" id="LGD_OSTYPE_CHECK" name="LGD_OSTYPE_CHECK" value="P"/>
모바일이면 M 으로 설정값이 들어와야 합니다
넵 추가해서 확인해 보겠습니다
202509011403347064
요청건인데 해결이 안 되었어요
네 잠시만 기다려주세요
네
이거 원인은 찾았습니다. 좀 여러가지가 꼬인 상태인데요..혹시 아래 정보로 테스트 가능하실까요?
CST_PLATFORM = test일때
CST_MID = tlittlefox1
LGD_MID = ttlittlefox1
https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js
CST_PLATFORM = service일때
CST_MID = littlefox1
LGD_MID = littlefox1
https://xpay.tosspayments.com/xpay/js/xpay_crossplatform.js
mall.conf 안에 설정할 MID 및 mertkey는 메일로 회신드리겠습니다.
네 확인해 보겟습니다!
주석처리가 ;표시 맞죠?
네 맞습니다
음..
202509011433107074 테스트건인데
여전히 그렇네요
CST_PLATFORM: [test]
CST_MID: [tlittlefox1]
로 올라왔는데, LGD_MID도 LGD_MID: [tlittlefox1] 로 올라왔습니다
dkj tt였구여
CST_PLATFORM: [test]
CST_MID: [tlittlefox1]
LGD_MID: [ttlittlefox1]
로 다시 테스트해봐주세요
였군요
CST_PLATFORM: [test]
CST_MID: [tlittlefox1]
LGD_MID: [ttlittlefox1]
CST_PLATFORM: [service]
CST_MID: [littlefox1]
LGD_MID: [littlefox1]
입니다
202509011437367076
이거 확인 부탁드릴게요
동일 증상입니다
네 이건 "존재하지 않는 MID" 로 에러가 응답됬습니다. 기존에 해지된 tlittlefox1 MID랑 충돌이 나는것 같은데..저희 내부적으로 좀 정리해서 회신드리겠습니다.
네 지금 보니 다른 응답이었네요
확인 부탁드릴게요 !
일단 상황을 정리하면 아래와 같습니다.
littlefox1 의 테스트MID tlittlefox1 가, 2000년에 계약되어 생성된 MID인데, 테스트 환경의 셋팅이 삭제된 상태입니다. (운영과는 무관)
tlittlefox1 (운영용 MID) 와 ttlittlefox2 (tlittlefox2 의 test mid) 는 현재 해지상태라 사용이 불가합니다.
그러면 테스트할 방법이 없는 건가요..?
littlefox1 의 테스트 환경이 삭제된 원인은, 이게 너무 오래되다보니, 저희쪽 데이터 정리과정에서 삭제가 된것 같습니다.
혹시 littlefox2 의 test mid 로는 어려우실까요?
littlefox1 의 설정과 동일한 다른 MID입니다. 이 ID는 테스트환경이 정상입니다.
littlefox1과 2 차이점이 뭐죠?
결제설정의 차이는 없습니다. 다만 과거에 가맹점의 요청으로 추가로 발급된 MID인것으로 확인됩니다
아 근데 저희가
1과 2를 구분해서 쓰고있다고 하네요
모바일 피씨 따로 관리를 하나봐요
네 그 용도로 분리한것이라면, 테스트용이면 상관이 없을듯 합니다.
littlefox1 테스트 아이디를 살릴 수 있는 방법은 없나요?
네 그건 좀 확인을 해봐야 할것 같은데..쉽지 않을것 같아서 먼저 저 방법을 제안드린 것입니다.
운영쪽은 전혀 문제 없습니다. 그건 안심하셔도 됩니다.
음..... 일단 아까 말씀해주신 conf파일은 아까 기존 설정대로 해도 되는 거죠?
네 기존으로 모두 원상복구 하셔도 됩니다
cst_mid, lgd_mid도요
넵
js 와 위 cst_platform , cst_mid 설정등은 가이드드린대로 운영하셔야 하는것이 맞습니다
그러면
littlefox2 로 사용한다고 하면
최초 상태가 가이드 드렸던대로
$CST_PLATFORM = $_POST["CST_PLATFORM"]; //토스페이먼츠 결제 서비스 선택(test:테스트, service:서비스)
$CST_MID = $_POST["CST_MID"]; //상점아이디(토스페이먼츠으로 부터 발급받으신 상점아이디를 입력하세요)
//테스트 아이디는 't'를 반드시 제외하고 입력하세요.
$LGD_MID = (("test" == $CST_PLATFORM)?"t":"").$CST_MID; //상점아이디(자동생성)
이렇게 되어 있었다면, 네 원복하시는것이 맞습니다
cst_mid = 'littlefox2'
lgd_mid = 'tlittlefox2'가 맞는거죠?
네 맞습니다
플랫폼은 test고요
cst_platform = test 일때입니다
그리고 sandbox로 로드해야 하나요?
js
네 맞습니다.
음.. 일단 한 번 설정해서 테스트해 보겟습니다
혹시 littlefox2 의 mertkey는 이미 mall.conf 에 있는 상태인가요?
네 들어있습니다
같은 mertkey로요
넵 그럼 문제없습니다
넵 테스트 한 번 해볼게요~
CST_PLATFORM: [test]
CST_MID: [littlefox2]
LGD_MID: [tlittlefox2]
https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js
이렇게 테스트 해주시기 바랍니다.
202509011505327078
한번 봐주시겠어요?
네 에러 확인했습니다.
잠시만요
번거로우시겠지만 littlefox3 로 한번 테스트 해보실수 있으실까요?
CST_PLATFORM: [test]
CST_MID: [littlefox3]
LGD_MID: [tlittlefox3]
https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js
littlefox3은 저희 다른 서버의 플랫폼에서 사용중이라서 설정이 따로 없어요
별개 서비스에서 사용하거든요
음..알겠습니다.
일단 전부 원복해주시구요
littlefox1 을 살릴수 있는 방안을 내부에서 체크해보고 회신드리겠습니다.
넵 빠른 회신 부탁드려요..
하나만 더 확인부탁드립니다.
결제창이 종료되고 submit 되서 승인요청하는 페이지 (샘플기준 : payres.php)를 보면 최상단에 아래와 같이 되어 있으실겁니다
*
* 1.최종결제 요청 - BEGIN
* (단, 최종 금액체크를 원하시는 경우 금액체크 부분 주석을 제거 하시면 됩니다.)
*
*/
$CST_PLATFORM = $_POST["CST_PLATFORM"];
$CST_MID = $_POST["CST_MID"];
$LGD_MID = (("test" == $CST_PLATFORM)?"t":"").$CST_MID;
$LGD_PAYKEY = $_POST["LGD_PAYKEY"];
require_once("./lgdacom/XPayClient.php");
여기가 현재 어떻게 되어 있는지 공유부탁드려도 될까요?
저희 소스에요?
네
if ($LGD_CUSTOM_PROCESSTIMEOUT == "") {
require_once $_SERVER['DOCUMENT_ROOT'] . "/static/dacom/lgdacom/XPayClient.php";
$xpay = new XPayClient($_SERVER["DOCUMENT_ROOT"] . '/static/dacom/lgdacom', $CST_PLATFORM);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "PaymentByKey");
$xpay->Set("LGD_PAYKEY", $LGD_PAYKEY);
$xpay->Set("LGD_CUSTOM_PROCESSTIMEOUT", $LGD_CUSTOM_PROCESSTIMEOUT);
} else // 2015.6.1 이후 결제 변경 로직
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/static/dacom/lgdacom_new/XPayClient.php";
$xpay = new XPayClient($_SERVER["DOCUMENT_ROOT"] . '/static/dacom/lgdacom', $CST_PLATFORM);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "PaymentByKey");
$xpay->Set("LGD_PAYKEY", $LGD_PAYKEY);
}
이부분 말씀하신건가요
네 맞습니다. 여기 상단에 $LGD_MID 를 따로 분기치는것은 없는것인가요?
최종 페이지여서 아까 테스트때문에 고정으로 넣어놨어요
$CST_PLATFORM = "test"; //LG유플러스 결제서비스 선택(test:테스트, service:서비스)
$CST_MID = "littlefox1";
$LGD_MID = "littlefox1";
변경 전에는
$LGD_MID = (("test" == $CST_PLATFORM) ? "t" : "") . $CST_MID;
원래 제공해주신 메뉴얼대로
사용중이에요
네 알겠습니다. 확인감사합니다
넵
@hyeonbae1 님 결제창호출페이지쪽 함수하나만 확인부탁드립니다.
function launchCrossPlatform(){
lgdwin = openXpay(document.getElementById('LGD_PAYINFO'), '<%= CST_PLATFORM %>', LGD_window_type, null, "", "");
}
이런 함수가 있을텐데요..혹시 확인되실까요?
여기가 지금 어떻게 되어 있는지 공유부탁드립니다.
lgdwin = openXpay(document.getElementById('LGD_PAYINFO'), '', LGD_window_type, null, "", "");
이렇게 사용중이에요
네 제가 전달드린것으로 변경해서 테스트 부탁드려도 될까요?
다른 설정은 어떻게 할까요?
CST_PLATFORM = test일때
CST_MID = littlefox1
LGD_MID = tlittlefox1
https://xpay-sandbox.tosspayments.com/xpay/js/xpay_crossplatform.js
요것만 체크하시고 나머지는 원래대로 설정하셔도 됩니다.
LGD_MID 필드가 누락되었습니다.
라고 나왔습니다
네 주문번호 확인가능하실까요?
202509011613527095
입니다
네 mall.conf 에
혹시 tlittlefox1 이 주석처리 되었나요?
아니요 초기 설정입니다
littlefox1
tlittlefox1 이 모두 활성화라는 말씀이시지요?
넵
지금 결제창까지는 뜬것 같고
맞아요!
이후 인증종료후 LGD_MID가 누락됬다고 나오는것이죠?
넵 맞습니다
payres 쪽도 원래대로 원상복구 하신것이죠?
설정했던것들 원래대로 변경했어요 말씀하신거 빼고요
이쪽 MID가 누락되서 그런것 같은데..혹시 이 페이지에 $LGD_MID를 echo로 디버깅코드 넣어보시고 다시 테스트 해보실수 있으실까요?
결제 완료 페이지에서 출력해 달라는 말씀이신가요~?
그리고 지금까지 기록된 log파일을 메일로 한번 전달부탁 드릴께요,
function launchCrossPlatform(){
lgdwin = openXpay(document.getElementById('LGD_PAYINFO'), '<%= CST_PLATFORM %>', LGD_window_type, null, "", "");
}
이건 수정하신대로 그대로 두셔야 합니다.
네..거기서 MID가 누락되서, 라이브러리에서 나는 에러거든요
lgdwin = openXpay(document.getElementById('LGD_PAYINFO'), '<%= CST_PLATFORM %>', LGD_window_type, null, "", "");
여기서 누락되었단 말씀이신가요?
아니요 여기는 결제창을 띄우는 곳이라 여긴 문제없습니다
결제창 종료후 넘어가는 페이지쪽을 말씀드린거구요 (payres)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<script type="text/javascript">
function setLGDResult() {
try { var RESP = document.getElementById("LGD_RESPCODE").value; var MSG = document.getElementById("LGD_RESPMSG").value; var LGD_PAYKEY = document.getElementById("LGD_PAYKEY").value; var LGD_MID = document.getElementById("LGD_MID").value; parent.payment_return(RESP, MSG, LGD_PAYKEY, LGD_MID); } catch (e) { alert(e.message); } window.close(); } </script> </head> <body onload="setLGDResult()"> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <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> </body> </html> 이렇게 받거든요
try { var RESP = document.getElementById("LGD_RESPCODE").value; var MSG = document.getElementById("LGD_RESPMSG").value; var LGD_PAYKEY = document.getElementById("LGD_PAYKEY").value; var LGD_MID = document.getElementById("LGD_MID").value; parent.payment_return(RESP, MSG, LGD_PAYKEY, LGD_MID); } catch (e) { alert(e.message); } window.close(); } </script> </head> <body onload="setLGDResult()"> <form method="post" name="LGD_RETURNINFO" id="LGD_RETURNINFO"> <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> </body> </html> 이렇게 받거든요
if ($LGD_CUSTOM_PROCESSTIMEOUT == "") {
require_once $_SERVER['DOCUMENT_ROOT'] . "/static/dacom/lgdacom/XPayClient.php";
$xpay = new XPayClient($_SERVER["DOCUMENT_ROOT"] . '/static/dacom/lgdacom', $CST_PLATFORM);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "PaymentByKey");
$xpay->Set("LGD_PAYKEY", $LGD_PAYKEY);
$xpay->Set("LGD_CUSTOM_PROCESSTIMEOUT", $LGD_CUSTOM_PROCESSTIMEOUT);
} else // 2015.6.1 이후 결제 변경 로직
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/static/dacom/lgdacom_new/XPayClient.php";
$xpay = new XPayClient($_SERVER["DOCUMENT_ROOT"] . '/static/dacom/lgdacom', $CST_PLATFORM);
$xpay->Init_TX($LGD_MID);
$xpay->Set("LGD_TXNAME", "PaymentByKey");
$xpay->Set("LGD_PAYKEY", $LGD_PAYKEY);
}
여기서 echo 해보라는 거죠?
이부분에서 누락되나 찾아봐주시겠어요?
네네
$xpay->Init_TX($LGD_MID);
여기서 MID가 누락되면 발생하는 에러거나, mall.conf 에 MID와 mertkey 가 없으면 모듈에서 내는 에러입니다.
$LGD_MID >> ttlittlefox1
라고 찍히구요
로그 보내드릴게요
네 tlittlefox1 이걸로 찍혀야합니다
LGD_MID는
제가 30분부터 없어서 로그보내드린게 마지막일거같아요
tt로 찍히는게 문제인거죠?
네 맞습니다
이걸 그럼 어떻게 해야할까요
강제로
t로 변형해야하나요
지금 결제창 띄우는곳은 이상없구요,
이쪽페이지에서
CST_PLATFORM
CST_MID LGD_MID 이 세값을 찍으면 어떻게 나오나요?
CST_MID LGD_MID 이 세값을 찍으면 어떻게 나오나요?
메일은 보내드렸어요
$LGD_MID >> ttlittlefox1
$CST_PLATFORM >> test
$CST_MID >> tlittlefox1
라고 나옵니다
제가 30분부터 자리에 없어서
나머지는 내일 이어가도 괜찮을까요?
따로 tt를 설정하진 않았는데 t, tt로 나오네요
CST_MID : littlefox1
CST_PLATFORM : test
LGD_MID : tlittlefox1
로만 설정되도록 하시면 됩니다.
CST_MID 가 tlittlefox1 로 설정되서 그런것 같아요
넵 일단 내일 한 번 확인해 보겠습니다
테스트일 경우만 저렇게 보내도록 한 번 해봐야겠어요
네 저부분 고치면 정상적으로 될겁니다. 원인이 여러가지가 좀 섞인 상태였는데요
내일 위 부분 테스트 해보시고 회신부탁드립니다.
네 감사합니다 ! 오늘 고생 많으셨어요
내일 확인하고 회신 바로 드리겠습니다
안녕하세요~
어제 알려주신 방법으로 결제 완료까지 잘 처리되었습니다
이런 이슈가 일어났던 계정 관련?해서 종합적으로 정리해 주시면 감사드립니다!
그리고 결제 완료는 정상으로 되었는데
상점 관리자에서 테스트 결제 내역이 확인이 안 되어서요
이 부분 확인 가능할까요?

주문번호: 202509020840567002
Cc/ @박의원
안녕하세요 테스트결제내역은 xpay결제로 진행한것은 확인되지 않고, api 방식 연동 (결제위젯, sdk, 브랜드페이)만 확인이 가능합니다.
과거에는 유플러스 테스트관리자를 제공해서 거기서 내역확인이 됬는데, 지금은 구 유플러스 관리자가 페이드아웃되서요
결제로그의 결과를 통해 정상완료여부를 확인부탁드립니다. 그간의 히스토리 및 테스트 환경 셋팅은 정리해서 메일로 회신드릴께요.
수고많으셨습니다
xpay 여서 확인이 안 되는 거군요
고생 많으셨어요. 감사합니다 🙂