구모듈(xpay) 개발서버 결제안됨. 로컬은 결제됨
6월 3일 이후 개발서버에서 lgdacom.conf 파일을 수정하였고 방화벽도 허용하였습니다.
결제모듈 호출과 해당 창에서 결제는 되나 아래와 같은 오류가 발생하며 결제가 최종 진행되지 않습니다.
로컬서버에서는 결제가 잘 됩니다. 어떻게 해야할지 문의드립니다.
2024-09-12 17:18:32 [INFO ] [] Init_TX User TX3X
2024-09-12 17:18:32 [DEBUG] [t...-key] LGD_TXID = t...-012024091217183....
2024-09-12 17:18:32 [DEBUG] [t...-key] LGD_AUTHCODE = .....
2024-09-12 17:18:32 [DEBUG] [t...-key] LGD_MID = t....
2024-09-12 17:18:32 [DEBUG] [t...-key] LGD_TXNAME = PaymentByKey
2024-09-12 17:18:32 [DEBUG] [t...-key] LGD_PAYKEY = 2024091217182C0B2C1C85....
2024-09-12 17:18:32 [DEBUG] [t...-key] java.net.ConnectException: 연결이 거부됨 (Connection refused)
....
at lgdacom.XPayClient.TX3XSSLSocketFactory.createSocket(TX3XSSLSocketFactory.java:167)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at lgdacom.XPayClient.TX3X.RequestHTTP(TX3X.java:130)
at lgdacom.XPayClient.TX.TX(TX.java:207)
at lgdacom.XPayClient.XPayClient.TX(XPayClient.java:245)
at saleson.shop.order.pg.LgDacomServiceImpl.pay(LgDacomServiceImpl.java:426)
at saleson.shop.order.pg.LgDacomServiceImpl$$FastClassBySpringCGLIB$$79af250e.invoke(<generated>)
...
2024-09-12 17:18:32 [FATAL] [t...-.....] TX failed: res code = 20010; msg = IO error; java.net.ConnectException: 연결이 거부됨 (Connection refused)
39 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
LGD_MID 값 공유 해주세요.
t.. 입니다.
수정하신 lgdacom.conf 파일 내용 공유 부탁드려요.
url = https://xpayvvipclient.tosspayments.com/xpay/Gateway.do
test_url = https://xpay-gateway-sandbox.tosspayments.com/xpay/Gateway.do
현재 이렇게 되어 있습니다.
네 해보고 말씀드리겠습니다.
뭔가 html 파일이 출력되네요
네 맞습니다.
그럼 연결이 안되는게 아닌데.. 동일한 서버 맞는거죠?
네. 결제 모듈이 뜨는거 까지는 되는데 모듈에서 결제 클릭후 사이트로 되돌아오질 못하는듯 합니다.
xpay.TX() 여기서 오류가 발생합니다.
지금 다시 결제 테스트 해보시고
주문번호 남겨주시겠어요?
네 잠시만요
처음 올려주신 것처럼 서버로그 다시 남겨주시겠어요?
그리고 아까 로컬이 아니라 서버에서 curl 명령어 하셨던거죠?
💡 정보 제출
민감 정보를 안전하게 제출해주세요
네
이곳으로 서버 ip도 같이 전달부탁드려요
서버 ip가 막혔는지도 확인해볼게요
해당 ip는 서버 내부 ip이고 외부로 나가는 ip 전달해주세요
확인하였습니다. IP는 지워주셔도 되어요
넵
결제페이지 올라간 서버에서 아래 명령어도 실행해보시겠어요?
curl -X POST curl -X POST https://xpay-gateway-sandbox.tosspayments.com/xpay/Gateway.do \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "param1=value1¶m2=u"
curl -x POST 두번 적힌것 같습니다!
$ curl -X POST https://xpay-gateway-sandbox.tosspayments.com/xpay/Gateway.do \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "param1=value1¶m2=u >'>' 만 출력됩니다.
" <=마지막에 이거 붙여주셔야해요
]$ curl -X POST https://xpay-gateway-sandbox.tosspayments.com/xpay/Gateway.do \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "param1=value1¶m2=u" {"LGD_RESPCODE":"XC01","LGD_RESPMSG":"LGD_MID 필드가 누락되었습니다.","LGD_RESPONSE":[{"LGD_RESPCODE":"XC01","LGD_RESPMSG":"LGD_MID 필드가 누락되었습니다."}]}curl: (6) Could not resolve host: -H; 알 수 없는 오류 curl: (6) Could not resolve host: Content-Type; 알 수 없는 오류 curl: (6) Could not resolve host: -d; 알 수 없는 오류 curl: (6) Could not resolve host: param1=value1¶m2=u; 알 수 없는 오류
{"LGD_RESPCODE":"XC01","LGD_RESPMSG":"LGD_MID 필드가 누락되었습니다.","LGD_RESPONSE":[{"LGD_RESPCODE":"XC01","LGD_RESPMSG":"LGD_MID 필드가 누락되었습니다."}]
위 메시지가 들어왔다면 정상적으로 저희 서버에 연결된 것인데요.
저희쪽 방화벽에서 막힌 것은 아닌데
그렇다면
lgdacom.conf <= 이 모듈이 또 다른곳에 있지 않을까 예상됩니다.
테스트한 결제페이지에서 연결된 모듈이 아니라 사용되지 않는 모듈의 lgdacom.conf 파일을 수정하였을 것 같아요
@개미핥기 님 혹시 결제가 안되기 시작한시점이 6.3일 이신가요?
네 맞습니다.
아니면 혹시 개발서버가 특정 네트워크에서만 접속되는데 들어오는게 막혀있을수 있을까요?
운영서버는 문제가 없으신가요?
네 운영서버와 로컬서버는 문제가 없습니다.
git 과 젠킨스를 통해 배포해서 ... 다른데 있지는 않을것 같습니다... lgdacom.conf 파일 수정전에는 결제 모듈이 아예 로딩이 안되었습니다...
지금 운영 서버의 lgdacon.conf 파일은 어떻게 설정이 되어 잇나요?
동일 한가요?
네 개발과 동일합니다.
그럼 개발 서버에서 라이브상점으로 결제를 내면 어떠신가요?
음... 그렇게는 해보지 않았습니다..
문제가 생길것 같습니다...
그러면 개발 서버에 mall.conf 파일 default_secure_protocols 이값은 어떻게 설정이 되어 있으신가요?
default_secure_protocols = 2048
로 되어있습니다.
이것도 운영과 동일합니다.
개발서버에서 저희쪽 서버로 curl 할때는 페이먼츠 방화벽에 접속이 확인되는데,
개발서버 결제페이지에서 결제요청으로 접속할 때는 방화벽 접근 기록이 확인되지 않습니다.
이걸로 봤을 때는 가맹점 내부 방화벽에서 막힐 것 같거든요.
그런데 이상한건 curl로 할때 정상 접속은 되구요.
혹시.. 다른 경로에 lgdom.conf 파일을 발견했는데
url = https://xpayclient.lgdacom.net/xpay/Gateway.do
test_url = https://xpayclient.lgdacom.net:7443/xpay/Gateway.do
aux_url = http://xpayclient.lgdacom.net:7080/xpay/Gateway.do
이렇게 되어 있습니다.
거기서 test_url 를 변경해보시겠어요?
네. 잠시만요
이걸로 연결되었다면 막혔을거에요
https://xpayclient.lgdacom.net:7443/xpay/Gateway.do
아... 이거였네요... 정상 결제 되었습니다. ㅠㅠ 감사합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.