hey2023
hey20232w ago

안녕하세요.

현금영수증 발급/취소 요청 모듈을 개발중입니다. 샘플로 받은 https://drive.google.com/drive/folders/1RCnS5IpI9Y87zZZouaMPPYTMlwOn6pYK 에 있는 XPayClient.jar 를 사용중인데, 혹시 맞는 버전인지요? NullPointerException 가 발생해서요.
Google Drive
79 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
today.lastday
today.lastday2w ago
해당 문서 맞습니다. 어디서 NullPointerException 에러가 발생하는지 전체 에러 올려주세요.
hey2023
hey2023OP2w ago
아 맞는건가요? 초기화를 못시키는 오류같은데. 오류로는 그냥 NullPointerException 만 발생하고 있습니다. java.lang.NullPointerException at org.apache.jsp.common.exception_jsp._jspService(exception_jsp.java:196) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421) at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342) at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 이런 오류입니다 그리고 인증서는 ssl 인증서 위치를 지정하는걸까요?
Kimoon Lee
Kimoon Lee2w ago
코드 중간중간에 try catch 로 exception 을 받아 봐야 할것 같습니다. 정확히 어떤라인에서 NullPointerException 이 나는지 확인가능하신가요/ 인증서는 SSL 인증서 설정하시면 될텐데 test 시에는 mall.conf 쪽에 관련 값을 0으로 설정하셔도 될것 같습니다.
hey2023
hey2023OP2w ago
XPayClient xpay = new XPayClient(); 이 부분에서 NullPointerException 이 발생합니다
Kimoon Lee
Kimoon Lee2w ago
그러면 xpayClient.jar 파일이 정상적으로 import 가 안된게 아닐까 싶은데요. 해당 파일을 tomcat classpath 에 추가 하셨나요?
hey2023
hey2023OP2w ago
네 추가는 되어 있습니다. 그런데 다시 점검 해 볼께요 java version "1.7.0_07" 저희 java version 이 이건데요.. java.lang.UnsupportedClassVersionError: lgdacom/XPayClient/XPayClient 이렇게 오류가 발생합니다. java 버전이 안맞는걸까요? 내일 다른 서버에서 해보고 다시 문의드리겠습니다
Kimoon Lee
Kimoon Lee2w ago
아 그러네요. 1.7이면 버전이 안맞는게 맞습니다. 해당 class file 이 1.8 이상에서 동작합니다.
박의원
박의원2w ago
jdk 1.7 이면 아래 링크 라이브러리로 교체해주세요 https://drive.google.com/file/d/1H-bhx5JSBKyCofjBoCchxA84EKmg5PEM/view?usp=drive_link
박의원
박의원2w ago
그리고 TLS 1.2 이상이 아니면 결제가 안될겁니다. 웹서버 및 was 설정에서 TLS1.2가 기본프로토콜로 설정되도록 해주셔야 합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
hey2023
hey2023OP2w ago
cacerts 파일 위치를 제대로 등록하니, 전송이 정상적으로 전송되는것이 확인되었습니다. 근데, mall.conf에 보면 market 인증키가 있는데요. 이건 별도로 요청드려야 하는건지요?
유부장
유부장2w ago
머트키는 상점관리자 -> 개발자센터에서 확인 할 수 있습니다. MID 마다 페어로 부여되어 있는 인증키 값 입니다.
hey2023
hey2023OP2w ago
현금영수증 발급용도(1:소득공제, 2:지출증빙)를 정확하게 넘겨주시기 바랍니다. 라고 응답이 오는데요 xpay.Set("LGD_CASHRECEIPTUSE", "1"); 이렇게 설정해 주고 있는데, 왜 오류가 나는지요?
유부장
유부장2w ago
요청 특정할수 있는 정보 전달 부탁 드립니다. mid, 요청 시간 등등
hey2023
hey2023OP2w ago
tncomsoft-0120250411110055cc440428d6746f78a11bc2e25cff9afff8a4396b log 에 찍힌 문자열입니다 2025-04-11 11:00:55 [INFO ] [tncomsoft-0120250411110055cc440428d6746f78a11bc2e25cff9afff8a4396b] m_szResCode = XC01 2025-04-11 11:00:55 [INFO ] [tncomsoft-0120250411110055cc440428d6746f78a11bc2e25cff9afff8a4396b] m_szResMsg = 현금영수증 발급용도(1:소득공제, 2:지출증빙)를 정확하게 넘겨주시기 바랍니다.
박의원
박의원2w ago
네 확인후 회신드리겠습니다.
today.lastday
today.lastday2w ago
LGD_CASHRECEIPTUSE 값이 넘어오지 않았는데요.
hey2023
hey2023OP2w ago
xpay.Set("LGD_CASHRECEIPTUSE", "1"); 이렇게 셋팅되어 있는데 왜 안넘어갈까요?
today.lastday
today.lastday2w ago
샘플코드로 실행중이신가요?
hey2023
hey2023OP2w ago
아 네. 의심가는 부분이 있어서 수정해 보고 다시 문의드리겠습니다 해당 부분은 코드 문제였구요... 또 다른 오류가 발생했는데요.. 2025-04-11 11:21:32 [INFO ] [tncomsoft-0120250411112132433cebf7e8fbc82728061095c5c2d76183b38fb9] m_szResCode = 1111 2025-04-11 11:21:32 [INFO ] [tncomsoft-0120250411112132433cebf7e8fbc82728061095c5c2d76183b38fb9] m_szResMsg = 사업자번호 변경 기능을 사용하려면 토스페이먼츠로 문의해주세요. 라는 오류가 발생합니다.
today.lastday
today.lastday2w ago
타사업자로 보내려고 하시는것일까요?
유부장
유부장2w ago
타사업자 현금영수증 발급 하시나요?
hey2023
hey2023OP2w ago
today.lastday
today.lastday2w ago
해당 기능은 신청해야만 사용할 수 있습니다.
hey2023
hey2023OP2w ago
어떻게 신청하나요?
today.lastday
today.lastday2w ago
청약신청 쪽이라서 1544-7772로 연락하시거나 세일즈담당자가 있다면 해당 매니저에 요청하시면 됩니다.
토스페이먼츠 BOT
토스페이먼츠 결제연동팀
빠르고 정확한 결제연동 경험을 위해, 디스코드에서는 기술 문의만 받고 있습니다. 계약 및 운영 관련 문의는 1544-7772나 홈페이지 상담을 이용해주세요. 감사합니다.
hey2023
hey2023OP2w ago
지금 LGD_CUSTOM_BUSINESSNUM 이 필드로 다른 번호를 보내서 문제가 되는거지요?
Ayaan이안
Ayaan이안2w ago
네 맞습니다
hey2023
hey2023OP2w ago
넵 감사합니다 이거 처리 바로 가능한가요? 신청하면요?
Ayaan이안
Ayaan이안2w ago
그건 고객센터나 세일즈 담당자님께 여쭈어 보시겠어요?
hey2023
hey2023OP2w ago
타사업자 현금영수증 발급을 위해서 청약신청 을 위해 저희 내부 담당자가 위에 연락처로 전화를 드렸는데요 제대로 파악이 안되고 있는것 같습니다.
유부장
유부장2w ago
메일 답변 드렸는데, 테스트 환경에서 말고 라이브 환경에서 확인 해주세요.
hey2023
hey2023OP2w ago
아 네 그럼 이거 MID 만 전달하면 되는거지요?
유부장
유부장2w ago
ncomsoft 인것으로 확인 했고, 유선 문의 받으신 분 께서 이해하고 내부 프로세스 진행 중 입니다.
hey2023
hey2023OP2w ago
넵 감사합니다 지금 라이브로 해서 몇개 현금영수증 발급 요청을 했는데요 7건을 보냈는데 그중 1건만 제대로 되고, 나머지는 다음과 같은 오류가 발생했어요 2025-04-11 15:15:53 [DEBUG] [ncomsoft-01202504111515480e3c62ddc5574e93b1ca2fd80a95ca62cab1f4f6] LGD_RESPCODE = 1111 2025-04-11 15:15:53 [DEBUG] [ncomsoft-01202504111515480e3c62ddc5574e93b1ca2fd80a95ca62cab1f4f6] LGD_RESPMSG = 동일한 주문번호에 대한 현금영수증 승인요청 내역이 있습니다 그런데.. 토스 관리자의 요청 내역에 보면 해당 주문번호로 동일건이 없는데 왜 해당 오류가 날까요?
Kimoon Lee
Kimoon Lee2w ago
보내신 주문번호를 알려주세요.
hey2023
hey2023OP2w ago
NTW40461000009214
Kimoon Lee
Kimoon Lee2w ago
LGD_OID: [NTW40461000009215, NTW40461000009216, NTW40461000009213, NTW40461000009214] 이렇게 요청을 배열로 해주신게 맞나요/
hey2023
hey2023OP2w ago
아 그렇게 들어가나요? 저희가 이게 기존에 rserver 를 썻었는데요.. 배치로 여러개를 요청하거든요.
Kimoon Lee
Kimoon Lee2w ago
네 여러건이 들어오고 있습니다. 한건씩 보내주세요.
hey2023
hey2023OP2w ago
이번에 바꾸면서 XPayClient xpay = new XPayClient(); 를 초기에 한번 셋팅하고
Kimoon Lee
Kimoon Lee2w ago
aPI 는 여러건을 처리하지 않고 있습니다.
hey2023
hey2023OP2w ago
이후에 loop 을 돌면서 건건이 돌리는데요 그럼 loop 안에서 XPayClient xpay = new XPayClient(); 를 계속 초기화 해줘야하나요?
Kimoon Lee
Kimoon Lee2w ago
네 맞습니다.
hey2023
hey2023OP2w ago
저희가 말씀드린것처럼 배치로 돌아가던거라 연속적으로 수백건에서 수천건을 요청할수 있는데 괜찮은지요? 궁금한게 있는데요. 저희가 rserver 로 요청 보낸것중에 Xpayclient 버전에서 취소하려고 하니까 원거래가 없어서 취소를 할수 없음 라고 왔는데요 . 그런 경우 어떻게 해줘야 하나요 ?
Ayaan이안
Ayaan이안2w ago
그러면 차단되실거라서 중간 중간 딜레이를 주시는게 좋을 것 같습니다.
Kimoon Lee
Kimoon Lee2w ago
저희가 rserver 로 요청 보낸것중에 Xpayclient 버전에서 취소하려고 하니까 원거래가 없어서 취소를 할수 없음 라고 왔는데요 . 이것도 주문번호나 TID 알려주시기 바랍니다.
hey2023
hey2023OP2w ago
주문번호 체계가 바뀌어서 승인번호로 알려드릴께요. 155001738 / 155014222 이렇게 두건입니다
Kimoon Lee
Kimoon Lee2w ago
Xpayclient 에서 취소 요청으로 보내신 LGD_TID, LGD_OID 값을 알려주세요.
hey2023
hey2023OP2w ago
NTW40461000009212 / NTW40461000009219 TID 값은 없습니다 근데, 이것이 문제가요.. 기존 rserver 요청했던것들 취소 요청이 종종 올텐데 그때마다 이렇게 연락드려야 하나요?
Kimoon Lee
Kimoon Lee2w ago
사용하시는 MID 가 ncomsoft 아닌가요?
hey2023
hey2023OP2w ago
맞습니다
Kimoon Lee
Kimoon Lee2w ago
No description
hey2023
hey2023OP2w ago
기존엔 NTW4046 로 알고 있어요
Kimoon Lee
Kimoon Lee2w ago
그럼 발급된게 없는것 같은데요.
hey2023
hey2023OP2w ago
rserver 에서는 주문번호가 없었어요
Kimoon Lee
Kimoon Lee2w ago
NTW4046 는 저희 MID 에는 없습니다.
hey2023
hey2023OP2w ago
rserver 에서 봐야 할텐데요
Kimoon Lee
Kimoon Lee2w ago
NTW40461000009212 는 언제 발급하신건가요?
hey2023
hey2023OP2w ago
그건 이번에 Xpayclient 로 바꾸면서 신규로 만든거여요
Kimoon Lee
Kimoon Lee2w ago
저희가 rserver 로 요청 보낸것중에 Xpayclient 버전에서 취소하려고 하니까 원거래가 없어서 취소를 할수 없음 라고 왔는데요 . 라고 하셨는데요.
hey2023
hey2023OP2w ago
네 맞아요. rserver 로 보낸거는 OID 개념이 없었잖아요?
Kimoon Lee
Kimoon Lee2w ago
저희가 LGU+ 인수할때 RSERVER 는 fade out 된것으로 이관받아서 정보가 부족한데요. rserver 에서는 어떤 정보를 넣어서 현금영수증을 발급하셨나요?
hey2023
hey2023OP2w ago
그럼 rserver 에서 발급받은 현금영수증 취소는 어떻게 해야할까요?
hey2023
hey2023OP2w ago
No description
Kimoon Lee
Kimoon Lee2w ago
여기 merchant_ID 에는 NTW4046 를 넣으셨던 거죠?
hey2023
hey2023OP2w ago
네 맞아요 저희가 기존에는 mercaht_ID 도 여러개입니다. 서비스별로 발급받아서요
Kimoon Lee
Kimoon Lee2w ago
rserver 발급건은 내부적으로 확인해 보고 공유 드리도록 하겠습니다.
OMG
OMG2w ago
현금영수증 정보를 찾아볼 수 있게 발급일자 정보라도 남겨주시면 확인하는데 도움이 될 것 같습니다.
유부장
유부장2w ago
rserver 에서 발급한 현금영수증은 상점관리자에서 확인은 가능 하신가요?
hey2023
hey2023OP2w ago
이 부분은 기존 rserer 로 다시 연동해서 처리하려고 하는데요... 문제는 차주 월요일부터 이와 같은 케이스 발생시 어떻게 해야 하나 해서 여쭤보는거거든요
유부장
유부장2w ago
rserver 는 더이상 사용 불가 해서요 rserver 통해서 발급한 건에대해서, 상점관리자 확인 되시면 그건 상점관리자에서 처리 하셔야 할것 같습니다. 2016년 서비스 종료 된다고 공지된 너무 오래된 제품이라, 이것까지 저희가 지원은 어려울것 같습니다.
hey2023
hey2023OP2w ago
혹시 지금 rserver 내렸나요? 이번주 일요일까지는 운영할거라고 들었는데.. 지금 구동이 안되서요
유부장
유부장2w ago
아직입니다.
hey2023
hey2023OP2w ago
RServer가 기동하지 못했습니다. java.lang.Exception: Configuration XML file /home/ncomsoft/rserver/conf/config.xml Error in building: 연결이 거부됨 Exception in thread "main" java.lang.NullPointerException at net.dacom.taxsave.deamon.Server.writeLog(Server.java:313) at net.dacom.taxsave.deamon.Server.writeLog(Server.java:309) at net.dacom.taxsave.tr.rserver.RServer.main(RServer.java:333) 라는 오류가 발생하는데요
유부장
유부장2w ago
저희 내부에서 관련 해서 작업한 것은 없습니다
Kimoon Lee
Kimoon Lee6d ago
@hey2023 님 저희 시스템 통해서 취소 가능한 방법을 찾고 있습니다만 시간이 좀 걸릴것 같습니다. 일단 국세청에서 직접 취소하는 방법이 있어서 안내드립니다. 국세청 홈택스에서 현금영수증 취소하는 방법 (사업자용) - 홈택스 접속 - 국세청 홈택스 접속 - 공인인증서 또는 공동인증서로 로그인 - 현금영수증 메뉴로 이동 - 상단 메뉴에서 [현금영수증] 클릭 - 좌측 메뉴에서 [발급내역조회] 또는 [자진발급분 수정] 선택 - 취소할 영수증 선택 - 발급한 영수증 중 취소하려는 거래 내역 조회 - 해당 거래를 선택하여 [취소] 또는 [수정발급] 클릭 - 취소 사유 입력 및 처리 - 취소 사유 입력 후 확인 - 정상적으로 처리되면, 국세청에 해당 현금영수증이 취소됨

Did you find this page helpful?