테스트 결제 결과 문의
결제 테스트 진행 후
결과에 링크 이동이나 처리가 따로 안 보이고
아래 화면에서 정지되는데요
입력한 LGD_RETURNURL 페이지로 이동하지 않습니다
73 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
요청건인데 해결이 안 되었어요
네 잠시만 기다려주세요
네