--- pom.xml
+++ pom.xml
... | ... | @@ -7,7 +7,7 @@ |
| 7 | 7 |
<version>1.0.0</version> |
| 8 | 8 |
<name>mjgo</name> |
| 9 | 9 |
<url>http://www.egovframe.go.kr</url> |
| 10 |
- |
|
| 10 |
+ |
|
| 11 | 11 |
<!-- <profiles> |
| 12 | 12 |
<profile> |
| 13 | 13 |
<id>local</id> |
... | ... | @@ -569,8 +569,20 @@ |
| 569 | 569 |
<artifactId>spring-data-redis</artifactId> |
| 570 | 570 |
<version>1.8.11.RELEASE</version> |
| 571 | 571 |
</dependency> |
| 572 |
- |
|
| 573 |
- <!-- valkey --> |
|
| 572 |
+ <dependency> |
|
| 573 |
+ <groupId>junit</groupId> |
|
| 574 |
+ <artifactId>junit</artifactId> |
|
| 575 |
+ <version>4.13.2</version> |
|
| 576 |
+ <scope>test</scope> |
|
| 577 |
+ </dependency> |
|
| 578 |
+ |
|
| 579 |
+ <dependency> |
|
| 580 |
+ <groupId>org.springframework</groupId> |
|
| 581 |
+ <artifactId>spring-test</artifactId> |
|
| 582 |
+ <version>${spring.maven.artifact.version}</version>
|
|
| 583 |
+ <scope>test</scope> |
|
| 584 |
+ </dependency> |
|
| 585 |
+ <!-- valkey --> |
|
| 574 | 586 |
</dependencies> |
| 575 | 587 |
|
| 576 | 588 |
<build> |
--- src/main/java/itn/com/cmm/ComDefaultVO.java
+++ src/main/java/itn/com/cmm/ComDefaultVO.java
... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 |
|
| 3 | 3 |
import java.io.Serializable; |
| 4 | 4 |
|
| 5 |
+import itn.com.utl.page.PageableVO; |
|
| 5 | 6 |
import org.apache.commons.lang3.builder.ToStringBuilder; |
| 6 | 7 |
|
| 7 | 8 |
/** |
... | ... | @@ -19,7 +20,7 @@ |
| 19 | 20 |
* @see |
| 20 | 21 |
* |
| 21 | 22 |
*/ |
| 22 |
-public class ComDefaultVO implements Serializable {
|
|
| 23 |
+public class ComDefaultVO implements Serializable, PageableVO {
|
|
| 23 | 24 |
|
| 24 | 25 |
private static final long serialVersionUID = -6062858939907510631L; |
| 25 | 26 |
|
+++ src/main/java/itn/com/utl/page/BasePageableVO.java
... | ... | @@ -0,0 +1,77 @@ |
| 1 | +package itn.com.utl.page; | |
| 2 | + | |
| 3 | +import lombok.Getter; | |
| 4 | +import lombok.Setter; | |
| 5 | + | |
| 6 | +@Getter | |
| 7 | +@Setter | |
| 8 | +public class BasePageableVO implements PageableVO { | |
| 9 | + | |
| 10 | + private int pageIndex = 1; | |
| 11 | + private int pageUnit = 10; | |
| 12 | + private int pageSize = 10; | |
| 13 | + | |
| 14 | + private int firstIndex; | |
| 15 | + private int lastIndex; | |
| 16 | + private int recordCountPerPage; | |
| 17 | + private String searchKeyword; | |
| 18 | + | |
| 19 | + | |
| 20 | + // searchVO 로 빼야함 -> BaseVO implements PageableVO, SearchVO | |
| 21 | + private String searchSortCnd; | |
| 22 | + private String searchSortOrd; | |
| 23 | + | |
| 24 | + private String searchCondition; | |
| 25 | + private String searchStartDate; | |
| 26 | + private String searchEndDate; | |
| 27 | + | |
| 28 | + @Override | |
| 29 | + public int getPageIndex() { | |
| 30 | + return pageIndex; | |
| 31 | + } | |
| 32 | + @Override | |
| 33 | + public int getPageUnit() { | |
| 34 | + return pageUnit; | |
| 35 | + } | |
| 36 | + | |
| 37 | + @Override | |
| 38 | + public int getPageSize() { | |
| 39 | + return pageSize; | |
| 40 | + } | |
| 41 | + | |
| 42 | + @Override | |
| 43 | + public String getSearchSortCnd() { | |
| 44 | + return searchSortCnd; | |
| 45 | + } | |
| 46 | + | |
| 47 | + @Override | |
| 48 | + public void setSearchSortCnd(String searchSortCnd) { | |
| 49 | + this.searchSortCnd = searchSortCnd; | |
| 50 | + } | |
| 51 | + | |
| 52 | + @Override | |
| 53 | + public String getSearchSortOrd() { | |
| 54 | + return searchSortOrd; | |
| 55 | + } | |
| 56 | + | |
| 57 | + @Override | |
| 58 | + public void setSearchSortOrd(String searchSortOrd) { | |
| 59 | + this.searchSortOrd = searchSortOrd; | |
| 60 | + } | |
| 61 | + | |
| 62 | + @Override | |
| 63 | + public void setFirstIndex(int firstIndex) { | |
| 64 | + this.firstIndex = firstIndex; | |
| 65 | + } | |
| 66 | + | |
| 67 | + @Override | |
| 68 | + public void setLastIndex(int lastIndex) { | |
| 69 | + this.lastIndex = lastIndex; | |
| 70 | + } | |
| 71 | + | |
| 72 | + @Override | |
| 73 | + public void setRecordCountPerPage(int recordCountPerPage) { | |
| 74 | + this.recordCountPerPage = recordCountPerPage; | |
| 75 | + } | |
| 76 | + | |
| 77 | +}(No newline at end of file) |
+++ src/main/java/itn/com/utl/page/PageableVO.java
... | ... | @@ -0,0 +1,16 @@ |
| 1 | +package itn.com.utl.page; | |
| 2 | + | |
| 3 | +public interface PageableVO { | |
| 4 | + int getPageIndex(); | |
| 5 | + int getPageUnit(); | |
| 6 | + int getPageSize(); | |
| 7 | + String getSearchSortCnd(); | |
| 8 | + String getSearchSortOrd(); | |
| 9 | + | |
| 10 | + void setFirstIndex(int firstIndex); | |
| 11 | + void setLastIndex(int lastIndex); | |
| 12 | + void setRecordCountPerPage(int recordCountPerPage); | |
| 13 | + void setSearchSortCnd(String defaultCnd); | |
| 14 | + void setSearchSortOrd(String defaultOrd); | |
| 15 | +} | |
| 16 | + |
+++ src/main/java/itn/com/utl/page/PaginationUtil.java
... | ... | @@ -0,0 +1,29 @@ |
| 1 | +package itn.com.utl.page; | |
| 2 | + | |
| 3 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; | |
| 4 | + | |
| 5 | + | |
| 6 | +public class PaginationUtil { | |
| 7 | + public static <T extends PageableVO> PaginationInfo init(T vo) { | |
| 8 | + PaginationInfo paginationInfo = new PaginationInfo(); | |
| 9 | + paginationInfo.setCurrentPageNo(vo.getPageIndex()); | |
| 10 | + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); | |
| 11 | + paginationInfo.setPageSize(vo.getPageSize()); | |
| 12 | + | |
| 13 | + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 14 | + vo.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 15 | + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 16 | + return paginationInfo; | |
| 17 | + } | |
| 18 | + | |
| 19 | + public static <T extends PageableVO> PaginationInfo initWithSort(T vo, String defaultCnd, String defaultOrd) { | |
| 20 | + if(vo.getSearchSortCnd() == null || vo.getSearchSortCnd().isEmpty()) { | |
| 21 | + vo.setSearchSortCnd(defaultCnd); | |
| 22 | + } | |
| 23 | + if (vo.getSearchSortOrd() == null || vo.getSearchSortOrd().isEmpty()) { | |
| 24 | + vo.setSearchSortOrd(defaultOrd); // asc / desc | |
| 25 | + } | |
| 26 | + return init(vo); | |
| 27 | + } | |
| 28 | +} | |
| 29 | + |
--- src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
+++ src/main/java/itn/let/mjo/pay/service/MjonPayVO.java
... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 |
package itn.let.mjo.pay.service; |
| 2 | 2 |
|
| 3 | 3 |
import itn.com.cmm.ComDefaultVO; |
| 4 |
+import itn.com.utl.page.BasePageableVO; |
|
| 4 | 5 |
import lombok.Getter; |
| 5 | 6 |
import lombok.Setter; |
| 6 | 7 |
|
... | ... | @@ -83,8 +84,8 @@ |
| 83 | 84 |
private int userPoint ; //사용자 보유 포인트 |
| 84 | 85 |
|
| 85 | 86 |
//PG결제사 전송 파라미터 |
| 86 |
- private String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; |
|
| 87 |
- private String merchantID = "itn180208m"; // 상점아이디 |
|
| 87 |
+ private String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; |
|
| 88 |
+ private String merchantID = "nictest00m"; // 상점아이디 |
|
| 88 | 89 |
|
| 89 | 90 |
//private String merchantKey = "EYzu8jGGMfqaDEp76gSckuvnaHHu+bC4opsSN6lHv3b2lurNYkVXrZ7Z1AoqQnXI3eLuaUFyoRNC6FkrzVjceg=="; |
| 90 | 91 |
//private String merchantID = "nicepay00m"; // 상점아이디 |
--- src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
+++ src/main/java/itn/let/mjo/pay/service/impl/MjonPayServiceImpl.java
| This diff is too big to display. |
+++ src/main/java/itn/let/mjo/pay/service/impl/PgAuthResult.java
... | ... | @@ -0,0 +1,29 @@ |
| 1 | +package itn.let.mjo.pay.service.impl; | |
| 2 | + | |
| 3 | + | |
| 4 | +import lombok.Getter; | |
| 5 | +import lombok.Setter; | |
| 6 | + | |
| 7 | +@Getter | |
| 8 | +@Setter | |
| 9 | +public class PgAuthResult { | |
| 10 | + private boolean success; | |
| 11 | + private String authResultCode; | |
| 12 | + private String authResultMsg; | |
| 13 | + private String resultCode; | |
| 14 | + private String resultMsg; | |
| 15 | + | |
| 16 | + private String payMethod; | |
| 17 | + private String goodsName; | |
| 18 | + private String amt; | |
| 19 | + private String tid; | |
| 20 | + private String mid; | |
| 21 | + private String moid; | |
| 22 | + | |
| 23 | + private String cardCode; | |
| 24 | + private String cardName; | |
| 25 | + | |
| 26 | + private String bankCode; | |
| 27 | + private String bankName; | |
| 28 | + | |
| 29 | +} |
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
| This diff is too big to display. |
--- src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayV2Controller.java
... | ... | @@ -13,6 +13,8 @@ |
| 13 | 13 |
import javax.servlet.http.HttpServletResponse; |
| 14 | 14 |
import javax.servlet.http.HttpSession; |
| 15 | 15 |
|
| 16 |
+import itn.com.utl.page.PageableVO; |
|
| 17 |
+import itn.com.utl.page.PaginationUtil; |
|
| 16 | 18 |
import org.slf4j.Logger; |
| 17 | 19 |
import org.slf4j.LoggerFactory; |
| 18 | 20 |
import org.springframework.beans.factory.annotation.Value; |
... | ... | @@ -50,38 +52,38 @@ |
| 50 | 52 |
@Controller |
| 51 | 53 |
public class MjonPayV2Controller {
|
| 52 | 54 |
private static final Logger LOGGER = LoggerFactory.getLogger(MjonPayController.class); |
| 53 |
- |
|
| 55 |
+ |
|
| 54 | 56 |
@Resource(name = "mjonPayService") |
| 55 | 57 |
private MjonPayService mjonPayService; |
| 56 |
- |
|
| 58 |
+ |
|
| 57 | 59 |
@Resource(name = "mberManageService") |
| 58 | 60 |
private EgovMberManageService mberManageService; |
| 59 |
- |
|
| 61 |
+ |
|
| 60 | 62 |
@Resource(name = "mjonCandidateService") |
| 61 | 63 |
private MjonCandidateService mjonCandidateService; |
| 62 |
- |
|
| 64 |
+ |
|
| 63 | 65 |
//전용계좌 서비스 |
| 64 | 66 |
@Resource(name = "vacsVactService") |
| 65 | 67 |
private VacsVactService vacsVactService; |
| 66 |
- |
|
| 68 |
+ |
|
| 67 | 69 |
/** userManageService */ |
| 68 | 70 |
@Resource(name = "userManageService") |
| 69 | 71 |
private EgovUserManageService userManageService; |
| 70 |
- |
|
| 71 |
- /** 사이트 설정 */ |
|
| 72 |
+ |
|
| 73 |
+ /** 사이트 설정 */ |
|
| 72 | 74 |
@Resource(name = "egovSiteManagerService") |
| 73 |
- EgovSiteManagerService egovSiteManagerService; |
|
| 75 |
+ EgovSiteManagerService egovSiteManagerService; |
|
| 74 | 76 |
|
| 75 | 77 |
/** 알림전송 Util */ |
| 76 | 78 |
@Resource(name = "mjonNoticeSendUtil") |
| 77 |
- private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 79 |
+ private MjonNoticeSendUtil mjonNoticeSendUtil; |
|
| 78 | 80 |
|
| 79 | 81 |
@Resource(name="MjonCommon") |
| 80 | 82 |
private MjonCommon mjonCommon; |
| 81 |
- |
|
| 83 |
+ |
|
| 82 | 84 |
@Resource(name = "mberGrdService") |
| 83 |
- MberGrdService mberGrdService; |
|
| 84 |
- |
|
| 85 |
+ MberGrdService mberGrdService; |
|
| 86 |
+ |
|
| 85 | 87 |
/** KG 모빌리언스 설정 */ |
| 86 | 88 |
// CARD |
| 87 | 89 |
@Value("#{globalSettings['Globals.pay.kgm.card.cnSvcid']}")
|
... | ... | @@ -94,13 +96,13 @@ |
| 94 | 96 |
private String globalRaSvcid; |
| 95 | 97 |
@Value("#{globalSettings['Globals.pay.kgm.bank.payMode']}")
|
| 96 | 98 |
private String globalRaPayMode; |
| 97 |
- |
|
| 99 |
+ |
|
| 98 | 100 |
// MOBILE |
| 99 | 101 |
@Value("#{globalSettings['Globals.pay.kgm.mobile.mcSvcid']}")
|
| 100 | 102 |
private String globalMcSvcid; |
| 101 | 103 |
@Value("#{globalSettings['Globals.pay.kgm.mobile.payMode']}")
|
| 102 |
- private String globalMcPayMode; |
|
| 103 |
- |
|
| 104 |
+ private String globalMcPayMode; |
|
| 105 |
+ |
|
| 104 | 106 |
/** |
| 105 | 107 |
* 결제하기 |
| 106 | 108 |
* @param searchVO |
... | ... | @@ -109,91 +111,71 @@ |
| 109 | 111 |
* @throws Exception |
| 110 | 112 |
*/ |
| 111 | 113 |
@RequestMapping(value= {"/web/member/pay/PayView.do"})
|
| 112 |
- public String PayViewV2(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO,
|
|
| 113 |
- HttpServletRequest request, RedirectAttributes redirectAttributes, |
|
| 114 |
- ModelMap model) throws Exception{
|
|
| 115 |
- |
|
| 116 |
- String pattern = (String) request.getAttribute( |
|
| 117 |
- HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ; |
|
| 118 |
- |
|
| 119 |
- //로그인 정보 획득 |
|
| 114 |
+ public String PayViewV2(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO,
|
|
| 115 |
+ HttpServletRequest request, |
|
| 116 |
+ RedirectAttributes redirectAttributes, |
|
| 117 |
+ ModelMap model |
|
| 118 |
+ ) throws Exception{
|
|
| 119 |
+ |
|
| 120 |
+ //로그인 정보 획득 |
|
| 120 | 121 |
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
| 121 | 122 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 122 |
- |
|
| 123 |
+ |
|
| 123 | 124 |
if(loginVO == null) {
|
| 124 | 125 |
return "redirect:/web/user/login/login.do"; |
| 125 | 126 |
} |
| 126 |
- |
|
| 127 |
- // 하드코딩 |
|
| 128 |
- // Itm Member Id Check |
|
| 129 |
- //if(!getItnMemberId(userId)) {
|
|
| 130 |
- // return "redirect:/web/main/mainPage.do"; |
|
| 131 |
- //} |
|
| 132 |
- |
|
| 127 |
+ |
|
| 133 | 128 |
MberManageVO mberManageVO = mberManageService.selectMber(loginVO.getId()); |
| 134 | 129 |
model.addAttribute("mberManageVO", mberManageVO);
|
| 135 |
- |
|
| 130 |
+ |
|
| 136 | 131 |
MjonCandidateVO mjonCandidateVO = new MjonCandidateVO(); |
| 137 |
- if(userId != "") {
|
|
| 132 |
+ if(userId != "") {
|
|
| 138 | 133 |
mjonCandidateVO = mjonCandidateService.selectCandidateDataInfo(userId); |
| 139 | 134 |
model.addAttribute("mjonCandidateVO",mjonCandidateVO);
|
| 140 |
- } |
|
| 141 |
- |
|
| 135 |
+ } |
|
| 136 |
+ |
|
| 142 | 137 |
mjonPayVO.setReturnURL(request.getRequestURL().toString().split("pay")[0] + "nicepay/payResultAjax.do") ;
|
| 143 |
- |
|
| 144 |
- /** pageing */ |
|
| 145 |
- PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 146 |
- paginationInfo.setCurrentPageNo(mjonPayVO.getPageIndex()); |
|
| 147 |
- paginationInfo.setRecordCountPerPage(mjonPayVO.getPageUnit()); |
|
| 148 |
- paginationInfo.setPageSize(mjonPayVO.getPageSize()); |
|
| 149 |
- |
|
| 150 |
- mjonPayVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 151 |
- mjonPayVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 152 |
- mjonPayVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 153 |
- |
|
| 154 |
- if("".equals(mjonPayVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 155 |
- mjonPayVO.setSearchSortCnd("moid");
|
|
| 156 |
- mjonPayVO.setSearchSortOrd("desc");
|
|
| 157 |
- } |
|
| 138 |
+ |
|
| 139 |
+ PaginationInfo paginationInfo = PaginationUtil.initWithSort( mjonPayVO, "moid","desc"); |
|
| 140 |
+ |
|
| 158 | 141 |
mjonPayVO.setUserId(loginVO.getId()); |
| 159 |
- |
|
| 160 |
- //대상 리스트 가져오기 |
|
| 142 |
+ |
|
| 143 |
+ //대상 리스트 가져오기 |
|
| 161 | 144 |
VacsVactVO vacsVactVO = new VacsVactVO(); |
| 162 | 145 |
vacsVactVO.setMberId(loginVO.getId()); |
| 163 | 146 |
List<?> bankList = vacsVactService.selectBankAcctAllList(vacsVactVO); //할당 가능한 계좌 수량 리스트 받아오기 |
| 164 | 147 |
List<?> myBankList = vacsVactService.selectMyBankAcctList(vacsVactVO); //내가 할당받은 전용계좌 리스트 받아오기 |
| 165 |
- |
|
| 148 |
+ |
|
| 166 | 149 |
MjonVaMsgLogVO vaMsgLogVO = new MjonVaMsgLogVO(); |
| 167 | 150 |
vaMsgLogVO.setMberId(loginVO.getId()); |
| 168 |
- |
|
| 151 |
+ |
|
| 169 | 152 |
Date now = new Date(); |
| 170 | 153 |
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
| 171 | 154 |
String date = sdf.format(now); |
| 172 | 155 |
vaMsgLogVO.setSendDate(date); |
| 173 |
- |
|
| 156 |
+ |
|
| 174 | 157 |
MjonVaMsgLogVO resultMsgInfo = mjonPayService.selectMyAcctSendCnt(vaMsgLogVO); |
| 175 |
- |
|
| 158 |
+ |
|
| 176 | 159 |
//대상 리스트, 페이징 정보 전달 |
| 177 | 160 |
model.addAttribute("resultList", bankList);
|
| 178 | 161 |
model.addAttribute("resultMyList", myBankList);
|
| 179 | 162 |
model.addAttribute("resultMsgInfo", resultMsgInfo);
|
| 180 | 163 |
model.addAttribute("mjonPayVO", mjonPayVO);
|
| 181 |
- |
|
| 164 |
+ |
|
| 182 | 165 |
// 탭이동 |
| 183 | 166 |
String tabType = "1"; |
| 184 | 167 |
if(request.getParameter("tabType") != null) {
|
| 185 | 168 |
tabType = request.getParameter("tabType");
|
| 186 | 169 |
} |
| 187 | 170 |
model.addAttribute("tabType", tabType);
|
| 188 |
- |
|
| 171 |
+ |
|
| 189 | 172 |
MberGrdVO mberGrdVO = new MberGrdVO(); |
| 190 | 173 |
List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); |
| 191 | 174 |
model.addAttribute("mberGrdSettingList", mberGrdSettingList);
|
| 192 |
- |
|
| 175 |
+ |
|
| 193 | 176 |
return "/web/pay/PayView"; |
| 194 | 177 |
} |
| 195 |
- |
|
| 196 |
- |
|
| 178 |
+ |
|
| 197 | 179 |
/** |
| 198 | 180 |
* 결제하기 |
| 199 | 181 |
* @param searchVO |
... | ... | @@ -202,53 +184,42 @@ |
| 202 | 184 |
* @throws Exception |
| 203 | 185 |
*/ |
| 204 | 186 |
@RequestMapping(value= {"/web/member/pay/selectVaViewPrintPopupAjax.do"})
|
| 205 |
- public String selectVaViewPrintPopupAjax(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO,
|
|
| 187 |
+ public String selectVaViewPrintPopupAjax(@ModelAttribute("mjonPayVO") MjonPayVO mjonPayVO,
|
|
| 206 | 188 |
HttpServletRequest request, RedirectAttributes redirectAttributes, |
| 207 | 189 |
ModelMap model) throws Exception{
|
| 208 |
- |
|
| 209 |
- String pattern = (String) request.getAttribute( |
|
| 210 |
- HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE) ; |
|
| 211 |
- |
|
| 212 | 190 |
//로그인 정보 획득 |
| 213 | 191 |
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
| 214 | 192 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 215 | 193 |
String userNm = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getName()); |
| 216 |
- |
|
| 194 |
+ |
|
| 217 | 195 |
if(loginVO == null) {
|
| 218 | 196 |
return "redirect:/web/user/login/login.do"; |
| 219 | 197 |
} |
| 220 |
- |
|
| 221 |
- // 하드코딩 |
|
| 222 |
- // Itm Member Id Check |
|
| 223 |
- //if(!getItnMemberId(userId)) {
|
|
| 224 |
- // return "redirect:/web/main/mainPage.do"; |
|
| 225 |
- //} |
|
| 226 |
- |
|
| 227 | 198 |
MberManageVO mberManageVO = mberManageService.selectMber(loginVO.getId()); |
| 228 | 199 |
model.addAttribute("mberManageVO", mberManageVO);
|
| 229 |
- |
|
| 230 |
- //회원 전용계좌 정보 리스트 가져오기 |
|
| 200 |
+ |
|
| 201 |
+ //회원 전용계좌 정보 리스트 가져오기 |
|
| 231 | 202 |
VacsVactVO vacsVactVO = new VacsVactVO(); |
| 232 | 203 |
vacsVactVO.setMberId(loginVO.getId()); |
| 233 | 204 |
List<?> myBankList = vacsVactService.selectMyBankAcctList(vacsVactVO); //내가 할당받은 전용계좌 리스트 받아오기 |
| 234 |
- |
|
| 205 |
+ |
|
| 235 | 206 |
//대상 리스트, 페이징 정보 전달 |
| 236 | 207 |
model.addAttribute("resultMyList", myBankList);
|
| 237 | 208 |
//사용자 정보 |
| 238 | 209 |
model.addAttribute("userId", userId);
|
| 239 | 210 |
model.addAttribute("userNm", userNm);
|
| 240 |
- |
|
| 211 |
+ |
|
| 241 | 212 |
Calendar cal = Calendar.getInstance(); |
| 242 | 213 |
|
| 243 | 214 |
int year = cal.get(Calendar.YEAR); |
| 244 | 215 |
int month = cal.get(Calendar.MONTH) + 1; |
| 245 | 216 |
int day = cal.get(Calendar.DAY_OF_MONTH); |
| 246 |
- |
|
| 217 |
+ |
|
| 247 | 218 |
model.addAttribute("year", year);
|
| 248 | 219 |
model.addAttribute("month", month);
|
| 249 | 220 |
model.addAttribute("day", day);
|
| 250 |
- |
|
| 251 |
- |
|
| 221 |
+ |
|
| 222 |
+ |
|
| 252 | 223 |
return "/web/pay/PayVaViewPrintPopup"; |
| 253 | 224 |
} |
| 254 | 225 |
|
... | ... | @@ -257,7 +228,7 @@ |
| 257 | 228 |
* @throws Exception |
| 258 | 229 |
*/ |
| 259 | 230 |
@RequestMapping(value = "/web/member/pay/selectNextPayMethodAjax.do") |
| 260 |
- public ModelAndView selectNextPayMethodAjax(MjonPayVO mjonPayVO, |
|
| 231 |
+ public ModelAndView selectNextPayMethodAjax(MjonPayVO mjonPayVO, |
|
| 261 | 232 |
HttpServletRequest request ) throws Exception {
|
| 262 | 233 |
|
| 263 | 234 |
ModelAndView modelAndView = new ModelAndView(); |
... | ... | @@ -266,39 +237,39 @@ |
| 266 | 237 |
boolean isSuccess = true; |
| 267 | 238 |
String msg = ""; |
| 268 | 239 |
String nextPayMethod = ""; |
| 269 |
- |
|
| 240 |
+ |
|
| 270 | 241 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 271 | 242 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 272 | 243 |
|
| 273 | 244 |
if(userId == null) {
|
| 274 | 245 |
isSuccess = false; |
| 275 |
- msg = "로그인이 필요합니다."; |
|
| 246 |
+ msg = "로그인이 필요합니다."; |
|
| 276 | 247 |
} |
| 277 |
- |
|
| 248 |
+ |
|
| 278 | 249 |
try {
|
| 279 | 250 |
// 다음 결제시 결제수단 SELECT |
| 280 | 251 |
nextPayMethod = userManageService.selectNextPayMethod(userId); |
| 281 |
- // 실제 마지막 결제 방식 - |
|
| 282 |
- |
|
| 252 |
+ // 실제 마지막 결제 방식 - |
|
| 253 |
+ |
|
| 283 | 254 |
} |
| 284 | 255 |
catch(Exception e) {
|
| 285 | 256 |
isSuccess = false; |
| 286 | 257 |
msg = e.getMessage(); |
| 287 |
- } |
|
| 258 |
+ } |
|
| 288 | 259 |
|
| 289 | 260 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 290 | 261 |
modelAndView.addObject("msg", msg);
|
| 291 | 262 |
modelAndView.addObject("nextPayMethod", nextPayMethod);
|
| 292 |
- |
|
| 263 |
+ |
|
| 293 | 264 |
return modelAndView; |
| 294 |
- } |
|
| 295 |
- |
|
| 265 |
+ } |
|
| 266 |
+ |
|
| 296 | 267 |
/** |
| 297 | 268 |
* 다음 결제시 결제수단 UPDATE |
| 298 | 269 |
* @throws Exception |
| 299 | 270 |
*/ |
| 300 | 271 |
@RequestMapping(value = "/web/member/pay/updateNextPayMethodAjax.do") |
| 301 |
- public ModelAndView updateNextPayMethodAjax(UserManageVO userManageVO, |
|
| 272 |
+ public ModelAndView updateNextPayMethodAjax(UserManageVO userManageVO, |
|
| 302 | 273 |
HttpServletRequest request ) throws Exception {
|
| 303 | 274 |
|
| 304 | 275 |
ModelAndView modelAndView = new ModelAndView(); |
... | ... | @@ -306,15 +277,15 @@ |
| 306 | 277 |
|
| 307 | 278 |
boolean isSuccess = true; |
| 308 | 279 |
String msg = ""; |
| 309 |
- |
|
| 280 |
+ |
|
| 310 | 281 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 311 | 282 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 312 | 283 |
|
| 313 | 284 |
if(userId == null) {
|
| 314 | 285 |
isSuccess = false; |
| 315 |
- msg = "로그인이 필요합니다."; |
|
| 286 |
+ msg = "로그인이 필요합니다."; |
|
| 316 | 287 |
} |
| 317 |
- |
|
| 288 |
+ |
|
| 318 | 289 |
try {
|
| 319 | 290 |
// 다음 결제시 결제수단 SELECT |
| 320 | 291 |
userManageVO.setMberId(userId); |
... | ... | @@ -323,21 +294,21 @@ |
| 323 | 294 |
catch(Exception e) {
|
| 324 | 295 |
isSuccess = false; |
| 325 | 296 |
msg = e.getMessage(); |
| 326 |
- } |
|
| 297 |
+ } |
|
| 327 | 298 |
|
| 328 | 299 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 329 | 300 |
modelAndView.addObject("msg", msg);
|
| 330 |
- |
|
| 301 |
+ |
|
| 331 | 302 |
return modelAndView; |
| 332 |
- } |
|
| 333 |
- |
|
| 303 |
+ } |
|
| 304 |
+ |
|
| 334 | 305 |
///////////////////////////////////////////////////////////////////////////////////////// |
| 335 | 306 |
// |
| 336 | 307 |
// |
| 337 | 308 |
// CARD |
| 338 | 309 |
// |
| 339 | 310 |
// |
| 340 |
- |
|
| 311 |
+ |
|
| 341 | 312 |
/** |
| 342 | 313 |
* KGM 간편결제 정보 Encode |
| 343 | 314 |
* @param MjonPayVO |
... | ... | @@ -346,7 +317,7 @@ |
| 346 | 317 |
* @throws Exception |
| 347 | 318 |
*/ |
| 348 | 319 |
@RequestMapping(value = "/web/member/pay/kgmCardEncodeAjax.do") |
| 349 |
- public ModelAndView kgmCardEncodeAjax(MjonPayVO mjonPayVO, |
|
| 320 |
+ public ModelAndView kgmCardEncodeAjax(MjonPayVO mjonPayVO, |
|
| 350 | 321 |
HttpServletRequest request ) throws Exception {
|
| 351 | 322 |
|
| 352 | 323 |
ModelAndView modelAndView = new ModelAndView(); |
... | ... | @@ -354,22 +325,22 @@ |
| 354 | 325 |
|
| 355 | 326 |
boolean isSuccess = true; |
| 356 | 327 |
String msg = ""; |
| 357 |
- |
|
| 328 |
+ |
|
| 358 | 329 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 359 | 330 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 360 | 331 |
String userNm = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getName()); |
| 361 | 332 |
|
| 362 | 333 |
if(userId == null) {
|
| 363 | 334 |
isSuccess = false; |
| 364 |
- msg = "로그인이 필요합니다."; |
|
| 335 |
+ msg = "로그인이 필요합니다."; |
|
| 365 | 336 |
} |
| 366 |
- |
|
| 337 |
+ |
|
| 367 | 338 |
try {
|
| 368 | 339 |
// Get Server Info |
| 369 | 340 |
String kgmServerName = request.getServerName(); |
| 370 | 341 |
String kgmPath = ""; |
| 371 | 342 |
kgmPath = getKgServerPath(request); |
| 372 |
- |
|
| 343 |
+ |
|
| 373 | 344 |
// Unique한 거래번호를 위한 값 추출 (밀리세컨드까지 조회) |
| 374 | 345 |
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
|
| 375 | 346 |
String appr_dtm = dateFormat.format(new Date()); |
... | ... | @@ -430,7 +401,7 @@ |
| 430 | 401 |
Notiurl = McashCipher.encodeString(Notiurl, Tradeid); |
| 431 | 402 |
Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); |
| 432 | 403 |
Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); |
| 433 |
- } |
|
| 404 |
+ } |
|
| 434 | 405 |
|
| 435 | 406 |
// 필수 |
| 436 | 407 |
modelAndView.addObject("CASH_GB", CASH_GB);
|
... | ... | @@ -439,7 +410,7 @@ |
| 439 | 410 |
modelAndView.addObject("PAY_MODE", PAY_MODE);
|
| 440 | 411 |
modelAndView.addObject("Prdtnm", Prdtnm);
|
| 441 | 412 |
modelAndView.addObject("Siteurl", Siteurl);
|
| 442 |
- modelAndView.addObject("Tradeid", Tradeid);
|
|
| 413 |
+ modelAndView.addObject("Tradeid", Tradeid);
|
|
| 443 | 414 |
// 선택 |
| 444 | 415 |
modelAndView.addObject("CALL_TYPE", CALL_TYPE);
|
| 445 | 416 |
modelAndView.addObject("Closeurl", Closeurl);
|
... | ... | @@ -470,22 +441,22 @@ |
| 470 | 441 |
catch(Exception e) {
|
| 471 | 442 |
isSuccess = false; |
| 472 | 443 |
msg = e.getMessage(); |
| 473 |
- } |
|
| 444 |
+ } |
|
| 474 | 445 |
|
| 475 | 446 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 476 | 447 |
modelAndView.addObject("msg", msg);
|
| 477 |
- |
|
| 448 |
+ |
|
| 478 | 449 |
return modelAndView; |
| 479 |
- } |
|
| 480 |
- |
|
| 450 |
+ } |
|
| 451 |
+ |
|
| 481 | 452 |
/** |
| 482 |
- * KGM Card 결제 notiUrl 페이지 |
|
| 453 |
+ * KGM Card 결제 notiUrl 페이지 |
|
| 483 | 454 |
* @param searchVO |
| 484 | 455 |
* @param model |
| 485 | 456 |
* @throws Exception |
| 486 | 457 |
*/ |
| 487 | 458 |
@RequestMapping(value= {"/web/kgm/pay/notiUrlCardAjax.do"})
|
| 488 |
- public String notiUrlCardAjax( |
|
| 459 |
+ public String notiUrlCardAjax( |
|
| 489 | 460 |
HttpServletRequest request |
| 490 | 461 |
, HttpServletResponse response |
| 491 | 462 |
, ModelMap model |
... | ... | @@ -493,7 +464,7 @@ |
| 493 | 464 |
|
| 494 | 465 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 495 | 466 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 496 |
- |
|
| 467 |
+ |
|
| 497 | 468 |
String rtnMsg = ""; |
| 498 | 469 |
|
| 499 | 470 |
String CASH_GB = request.getParameter("CASH_GB"); /* 결제수단(CN)*/
|
... | ... | @@ -511,14 +482,14 @@ |
| 511 | 482 |
String Cardcode = request.getParameter("Cardcode"); /* 결제 카드코드 */
|
| 512 | 483 |
String Cardname = request.getParameter("Cardname"); /* 결제 카드사명 */
|
| 513 | 484 |
String chkValue = request.getParameter("chkValue"); /* 결과값 검증 hash데이터 */
|
| 514 |
- String spayMethod = request.getParameter("Paymethod"); /* 지불방법 (간편결제 시에만 응답) */
|
|
| 485 |
+ String spayMethod = request.getParameter("Paymethod"); /* 지불방법 (간편결제 시에만 응답) */
|
|
| 515 | 486 |
String MSTR = request.getParameter("MSTR"); //[2000byte 이하] 가맹점 전달 콜백변수
|
| 516 | 487 |
|
| 517 | 488 |
System.out.println("#############################################################");
|
| 518 | 489 |
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
|
| 519 | 490 |
System.out.println("KG MOBILIANS NotiUrl - CARD MSTR : " + MSTR);
|
| 520 | 491 |
System.out.println("KG MOBILIANS NotiUrl - CARD SpayMethod : " + spayMethod);
|
| 521 |
- |
|
| 492 |
+ |
|
| 522 | 493 |
String cpChkValue = ""; |
| 523 | 494 |
cpChkValue = "Mobilid="+ Mobilid + |
| 524 | 495 |
"&Mrchid=null"+ |
... | ... | @@ -529,32 +500,32 @@ |
| 529 | 500 |
|
| 530 | 501 |
String encChkValue = McashCipher.encodeString(cpChkValue, Tradeid); |
| 531 | 502 |
//chkValue = "ZZZZZ"; |
| 532 |
- //encChkValue = chkValue; |
|
| 503 |
+ //encChkValue = chkValue; |
|
| 533 | 504 |
System.out.println("KG MOBILIANS NotiUrl - CARD chkValue : " + chkValue);
|
| 534 | 505 |
System.out.println("KG MOBILIANS NotiUrl - CARD encChkValue : " + encChkValue);
|
| 535 | 506 |
System.out.println("KG MOBILIANS NotiUrl - CARD getIsKgmServerIp : " + getIsKgmServerIp(request)); // Kgm Ip Check
|
| 536 |
- |
|
| 507 |
+ |
|
| 537 | 508 |
try {
|
| 538 | 509 |
// Step 1. Tid로 존재여부 체크 |
| 539 | 510 |
int tidCnt = mjonPayService.selectPayCountByTid(Tradeid); |
| 540 | 511 |
|
| 541 | 512 |
if (tidCnt > 0) {
|
| 542 | 513 |
// 저장된 데이터 있을경우 |
| 543 |
- rtnMsg = "SUCCESS"; |
|
| 544 |
- |
|
| 514 |
+ rtnMsg = "SUCCESS"; |
|
| 515 |
+ |
|
| 545 | 516 |
System.out.println("#############################################################");
|
| 546 | 517 |
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
|
| 547 |
- System.out.println("KG MOBILIANS NotiUrl - CARD returnMsg2 : " + rtnMsg);
|
|
| 548 |
- } |
|
| 518 |
+ System.out.println("KG MOBILIANS NotiUrl - CARD returnMsg2 : " + rtnMsg);
|
|
| 519 |
+ } |
|
| 549 | 520 |
else if (tidCnt == 0) {
|
| 550 | 521 |
// Check0. 데이터 위·변조 체크 |
| 551 | 522 |
if (!encChkValue.equals(chkValue)) {
|
| 552 | 523 |
System.out.println("#############################################################");
|
| 553 | 524 |
System.out.println("KG MOBILIANS NotiUrl - CARD : 데이터 위·변조 가능성 높으니 결제오류 처리 => " + cpChkValue);
|
| 554 |
- |
|
| 525 |
+ |
|
| 555 | 526 |
Resultcd = "9999"; |
| 556 | 527 |
Resultmsg = "데이터 위·변조 가능성이 있어 결제오류 처리했습니다. KG모빌리언스 정상결제 여부 확인후, 고객님께 안내후 결제취소해주세요."; |
| 557 |
- |
|
| 528 |
+ |
|
| 558 | 529 |
try {
|
| 559 | 530 |
// 법인폰 알람여부 체크 |
| 560 | 531 |
JoinSettingVO joinSettingVO = new JoinSettingVO(); |
... | ... | @@ -562,30 +533,30 @@ |
| 562 | 533 |
// SMS 체크 |
| 563 | 534 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 564 | 535 |
// 스미싱의심 SMS 알림전송 |
| 565 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("간편결제 데이터 위·변조 가능성 결제오류 처리", Userid, "");
|
|
| 566 |
- } |
|
| 567 |
- |
|
| 536 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("간편결제 데이터 위·변조 가능성 결제오류 처리", Userid, "");
|
|
| 537 |
+ } |
|
| 538 |
+ |
|
| 568 | 539 |
// SLACK 체크 |
| 569 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 540 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 570 | 541 |
// Slack 메시지 발송(단순본문) |
| 571 | 542 |
String msg = "[문자온] " + Userid + "님 결제건 알림 => 데이터 위·변조 가능성이 있어 결제오류 처리했습니다. KG모빌리언스 에는 정상결제 됐을수 있습니다. https://cp.mcash.co.kr/mcht 에서 정상결제 확인후, 고객님께 안내후, 결제취소해주세요."; |
| 572 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 543 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 573 | 544 |
} |
| 574 | 545 |
} |
| 575 | 546 |
catch (Exception e) {
|
| 576 | 547 |
System.out.println("#############################################################");
|
| 577 |
- System.out.println("KG MOBILIANS NotiUrl - CARD : 데이터 위·변조 가능성 높으니 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 578 |
- } |
|
| 548 |
+ System.out.println("KG MOBILIANS NotiUrl - CARD : 데이터 위·변조 가능성 높으니 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 549 |
+ } |
|
| 579 | 550 |
} |
| 580 |
- |
|
| 551 |
+ |
|
| 581 | 552 |
// Check1. KG모빌리언스 호출아이피 체크 |
| 582 | 553 |
if (!getIsKgmServerIp(request)) {
|
| 583 | 554 |
System.out.println("#############################################################");
|
| 584 | 555 |
System.out.println("KG MOBILIANS NotiUrl - CARD : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리");
|
| 585 |
- |
|
| 556 |
+ |
|
| 586 | 557 |
Resultcd = "9998"; |
| 587 | 558 |
Resultmsg = "NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리. KG모빌리언스 정상결제 여부 확인후, 고객님께 안내후 결제취소해주세요."; |
| 588 |
- |
|
| 559 |
+ |
|
| 589 | 560 |
try {
|
| 590 | 561 |
// 법인폰 알람여부 체크 |
| 591 | 562 |
JoinSettingVO joinSettingVO = new JoinSettingVO(); |
... | ... | @@ -593,23 +564,23 @@ |
| 593 | 564 |
// SMS 체크 |
| 594 | 565 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 595 | 566 |
// 스미싱의심 SMS 알림전송 |
| 596 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 597 |
- } |
|
| 598 |
- |
|
| 567 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 568 |
+ } |
|
| 569 |
+ |
|
| 599 | 570 |
// SLACK 체크 |
| 600 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 571 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 601 | 572 |
// Slack 메시지 발송(단순본문) |
| 602 | 573 |
String msg = "[문자온] " + Userid + "님 결제건 알림 => NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리했습니다. KG모빌리언스 에는 정상결제 됐을수 있습니다. https://cp.mcash.co.kr/mcht 에서 정상결제 확인후, 고객님께 안내후, 결제취소해주세요."; |
| 603 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 574 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 604 | 575 |
} |
| 605 | 576 |
} |
| 606 | 577 |
catch (Exception e) {
|
| 607 | 578 |
System.out.println("#############################################################");
|
| 608 |
- System.out.println("KG MOBILIANS NotiUrl - CARD : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 609 |
- } |
|
| 579 |
+ System.out.println("KG MOBILIANS NotiUrl - CARD : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 580 |
+ } |
|
| 610 | 581 |
} |
| 611 |
- |
|
| 612 |
- // 저장 Start |
|
| 582 |
+ |
|
| 583 |
+ // 저장 Start |
|
| 613 | 584 |
// 사용자 정보 |
| 614 | 585 |
String mberNm = ""; |
| 615 | 586 |
String moblphonNo = ""; |
... | ... | @@ -620,9 +591,9 @@ |
| 620 | 591 |
if (userInfo != null) {
|
| 621 | 592 |
mberNm = userInfo.getMberNm(); |
| 622 | 593 |
moblphonNo = userInfo.getMoblphonNo(); |
| 623 |
- mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 594 |
+ mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 624 | 595 |
} |
| 625 |
- |
|
| 596 |
+ |
|
| 626 | 597 |
// MjonPayVO |
| 627 | 598 |
MjonPayVO mjonPayVO = new MjonPayVO(); |
| 628 | 599 |
mjonPayVO.setResultCd(Resultcd); |
... | ... | @@ -653,13 +624,13 @@ |
| 653 | 624 |
} |
| 654 | 625 |
mjonPayVO.setPgStatus(pgStatus); // 결제 상태 - 0:입금대기, 1:결제완료, 4.결제오류, 9:취소완료 |
| 655 | 626 |
mjonPayVO.setRcptType("9"); // 현금영수증 유형-0:미발행, 1:소득공제, 2:지출증빙, 9:세금계산서[PG에 없는 값]
|
| 656 |
- mjonPayVO.setResultCode(Resultcd); |
|
| 657 |
- mjonPayVO.setResultMsg(Resultmsg); |
|
| 627 |
+ mjonPayVO.setResultCode(Resultcd); |
|
| 628 |
+ mjonPayVO.setResultMsg(Resultmsg); |
|
| 658 | 629 |
mjonPayVO.setAmt(Prdtprice); // 결제금액 |
| 659 | 630 |
mjonPayVO.setPayMethod("SPAY"); // 결제방법
|
| 660 | 631 |
mjonPayVO.setSpayMethod(spayMethod); // 간편결제 결제방법 |
| 661 | 632 |
mjonPayVO.setSpayDiv(MSTR); // 간편결제분류 |
| 662 |
- |
|
| 633 |
+ |
|
| 663 | 634 |
mjonPayVO.setPgCode("KGM"); //
|
| 664 | 635 |
mjonPayVO.setGoodsName(Prdtnm); // |
| 665 | 636 |
mjonPayVO.setPhone(""); // 모바일
|
... | ... | @@ -675,12 +646,12 @@ |
| 675 | 646 |
// 추가 |
| 676 | 647 |
mjonPayVO.setCardCode(Cardcode); |
| 677 | 648 |
mjonPayVO.setCardName(Cardname); |
| 678 |
- |
|
| 649 |
+ |
|
| 679 | 650 |
// 인서트 |
| 680 |
- mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 681 |
- |
|
| 651 |
+ mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 652 |
+ |
|
| 682 | 653 |
rtnMsg = "SUCCESS"; |
| 683 |
- |
|
| 654 |
+ |
|
| 684 | 655 |
try {
|
| 685 | 656 |
// 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
| 686 | 657 |
// Step 1. 스미싱의심 지정 여부 |
... | ... | @@ -696,32 +667,32 @@ |
| 696 | 667 |
// SMS 체크 |
| 697 | 668 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 698 | 669 |
// 스미싱의심 SMS 알림전송 |
| 699 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/간편결제 첫결제", Userid, mberNm);
|
|
| 700 |
- } |
|
| 701 |
- |
|
| 670 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/간편결제 첫결제", Userid, mberNm);
|
|
| 671 |
+ } |
|
| 672 |
+ |
|
| 702 | 673 |
// SLACK 체크 |
| 703 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 674 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 704 | 675 |
// Slack 메시지 발송(단순본문) |
| 705 | 676 |
String msg = "[문자온] 스미싱의심/간편결제 첫결제 - " + mberNm +"("+ Userid + ")";
|
| 706 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 677 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 707 | 678 |
} |
| 708 |
- |
|
| 679 |
+ |
|
| 709 | 680 |
// 스미싱 의심회원으로 변경 |
| 710 | 681 |
UserManageVO userManageVO = new UserManageVO(); |
| 711 | 682 |
userManageVO.setSmishingYn("Y");
|
| 712 | 683 |
userManageVO.setMberId(Userid); |
| 713 |
- userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 684 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 714 | 685 |
} |
| 715 | 686 |
} |
| 716 |
- } |
|
| 687 |
+ } |
|
| 717 | 688 |
} |
| 718 | 689 |
catch (Exception e) {
|
| 719 | 690 |
System.out.println("#############################################################");
|
| 720 | 691 |
System.out.println("KG MOBILIANS NotiUrl - CARD 슬랙알림 & 스미싱의심 처리 Error");
|
| 721 | 692 |
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
|
| 722 |
- System.out.println("KG MOBILIANS NotiUrl - CARD e.getMessage() : " + e.getMessage());
|
|
| 723 |
- } |
|
| 724 |
- |
|
| 693 |
+ System.out.println("KG MOBILIANS NotiUrl - CARD e.getMessage() : " + e.getMessage());
|
|
| 694 |
+ } |
|
| 695 |
+ |
|
| 725 | 696 |
System.out.println("#############################################################");
|
| 726 | 697 |
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
|
| 727 | 698 |
System.out.println("KG MOBILIANS NotiUrl - CARD returnMsg : " + rtnMsg);
|
... | ... | @@ -729,62 +700,62 @@ |
| 729 | 700 |
} |
| 730 | 701 |
catch(Exception e) {
|
| 731 | 702 |
rtnMsg = "FAIL"; |
| 732 |
- |
|
| 703 |
+ |
|
| 733 | 704 |
System.out.println("#############################################################");
|
| 734 | 705 |
System.out.println("KG MOBILIANS NotiUrl - CARD Tradeid : " + Tradeid);
|
| 735 |
- System.out.println("KG MOBILIANS NotiUrl - CARD returnMsg : " + rtnMsg);
|
|
| 706 |
+ System.out.println("KG MOBILIANS NotiUrl - CARD returnMsg : " + rtnMsg);
|
|
| 736 | 707 |
System.out.println("KG MOBILIANS NotiUrl - CARD e.getMessage() : " + e.getMessage());
|
| 737 |
- } |
|
| 738 |
- |
|
| 708 |
+ } |
|
| 709 |
+ |
|
| 739 | 710 |
model.addAttribute("returnMsg", rtnMsg);
|
| 740 |
- |
|
| 711 |
+ |
|
| 741 | 712 |
return "web/cop/kgmV2/cardNotiUrl"; |
| 742 | 713 |
} |
| 743 |
- |
|
| 714 |
+ |
|
| 744 | 715 |
/** |
| 745 |
- * KGM Card 결제 okUrl 페이지 |
|
| 716 |
+ * KGM Card 결제 okUrl 페이지 |
|
| 746 | 717 |
* @param searchVO |
| 747 | 718 |
* @param model |
| 748 | 719 |
* @throws Exception |
| 749 | 720 |
*/ |
| 750 | 721 |
@RequestMapping(value= {"/web/kgm/pay/okUrlCardAjax.do"})
|
| 751 |
- public String okUrlCardAjax( |
|
| 722 |
+ public String okUrlCardAjax( |
|
| 752 | 723 |
HttpServletRequest request |
| 753 | 724 |
, HttpSession session |
| 754 |
- , HttpServletResponse response |
|
| 725 |
+ , HttpServletResponse response |
|
| 755 | 726 |
, ModelMap model |
| 756 | 727 |
) throws Exception{
|
| 757 | 728 |
|
| 758 | 729 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 759 | 730 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 760 |
- |
|
| 731 |
+ |
|
| 761 | 732 |
String rstMsg = ""; |
| 762 | 733 |
if("0000".equals(request.getParameter("Resultcd"))) {
|
| 763 | 734 |
rstMsg = "간편결제가 정상적으로 완료되었습니다."; |
| 764 | 735 |
} |
| 765 | 736 |
else {
|
| 766 | 737 |
rstMsg = "간편결제가 실패했습니다."; |
| 767 |
- } |
|
| 768 |
- |
|
| 738 |
+ } |
|
| 739 |
+ |
|
| 769 | 740 |
model.addAttribute("Resultcd", request.getParameter("Resultcd"));
|
| 770 |
- model.addAttribute("Resultmsg", rstMsg);
|
|
| 741 |
+ model.addAttribute("Resultmsg", rstMsg);
|
|
| 771 | 742 |
|
| 772 | 743 |
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
|
| 773 | 744 |
System.out.println("KG MOBILIANS OkUrl - CARD ResultCd : " + request.getParameter("Resultcd"));
|
| 774 |
- System.out.println("KG MOBILIANS OkUrl - CARD ResultMsg : " + rstMsg);
|
|
| 775 |
- |
|
| 776 |
- |
|
| 745 |
+ System.out.println("KG MOBILIANS OkUrl - CARD ResultMsg : " + rstMsg);
|
|
| 746 |
+ |
|
| 747 |
+ |
|
| 777 | 748 |
return "web/cop/kgmV2/cardOkUrl"; |
| 778 |
- } |
|
| 779 |
- |
|
| 780 |
- |
|
| 749 |
+ } |
|
| 750 |
+ |
|
| 751 |
+ |
|
| 781 | 752 |
///////////////////////////////////////////////////////////////////////////////////////// |
| 782 | 753 |
// |
| 783 | 754 |
// |
| 784 | 755 |
// MOBILE |
| 785 | 756 |
// |
| 786 | 757 |
// |
| 787 |
- |
|
| 758 |
+ |
|
| 788 | 759 |
/** |
| 789 | 760 |
* KGM 모바일 정보 Encode |
| 790 | 761 |
* @param MjonPayVO |
... | ... | @@ -793,7 +764,7 @@ |
| 793 | 764 |
* @throws Exception |
| 794 | 765 |
*/ |
| 795 | 766 |
@RequestMapping(value = "/web/member/pay/kgmMobileEncodeAjax.do") |
| 796 |
- public ModelAndView kgmMobileEncodeAjax(MjonPayVO mjonPayVO, |
|
| 767 |
+ public ModelAndView kgmMobileEncodeAjax(MjonPayVO mjonPayVO, |
|
| 797 | 768 |
HttpServletRequest request ) throws Exception {
|
| 798 | 769 |
|
| 799 | 770 |
ModelAndView modelAndView = new ModelAndView(); |
... | ... | @@ -801,21 +772,21 @@ |
| 801 | 772 |
|
| 802 | 773 |
boolean isSuccess = true; |
| 803 | 774 |
String msg = ""; |
| 804 |
- |
|
| 775 |
+ |
|
| 805 | 776 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 806 | 777 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 807 | 778 |
|
| 808 | 779 |
if(userId == null) {
|
| 809 | 780 |
isSuccess = false; |
| 810 |
- msg = "로그인이 필요합니다."; |
|
| 781 |
+ msg = "로그인이 필요합니다."; |
|
| 811 | 782 |
} |
| 812 |
- |
|
| 783 |
+ |
|
| 813 | 784 |
try {
|
| 814 | 785 |
// Get Server Info |
| 815 | 786 |
String kgmServerName = request.getServerName(); |
| 816 | 787 |
String kgmPath = ""; |
| 817 | 788 |
kgmPath = getKgServerPath(request); |
| 818 |
- |
|
| 789 |
+ |
|
| 819 | 790 |
// Unique한 거래번호를 위한 값 추출 (밀리세컨드까지 조회) |
| 820 | 791 |
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
|
| 821 | 792 |
String appr_dtm = dateFormat.format(new Date()); |
... | ... | @@ -829,19 +800,19 @@ |
| 829 | 800 |
*****************************************************************************************/ |
| 830 | 801 |
String MC_SVCID = globalMcSvcid; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) |
| 831 | 802 |
String PAY_MODE = globalMcPayMode; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) |
| 832 |
- String Prdtprice = request.getParameter("Prdtprice");; //결제요청금액.
|
|
| 803 |
+ String Prdtprice = request.getParameter("Prdtprice");; //결제요청금액.
|
|
| 833 | 804 |
String Okurl = kgmPath + "/web/kgm/pay/okUrlMobileAjax.do"; //성공화면처리URL : 결제완료통보페이지 full Url (예:http://www.mcash.co.kr/okurl.jsp ) |
| 834 | 805 |
String Prdtnm = "캐시충전"; //C //[ 50byte 이하] 상품명 |
| 835 | 806 |
String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) |
| 836 |
- String Tradeid = MC_SVCID + "_" + appr_dtm + "_" + numberGen(6,1); //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음.
|
|
| 807 |
+ String Tradeid = MC_SVCID + "_" + appr_dtm + "_" + numberGen(6,1); //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음.
|
|
| 837 | 808 |
String Notiurl = kgmPath + "/web/kgm/pay/notiUrlMobileAjax.do"; |
| 838 |
- |
|
| 809 |
+ |
|
| 839 | 810 |
/***************************************************************************************** |
| 840 | 811 |
- 디자인 관련 필수항목 |
| 841 | 812 |
*****************************************************************************************/ |
| 842 | 813 |
String LOGO_YN = "N"; //[ 1byte 고정] 가맹점 로고 사용 여부 (N: 모빌리언스 로고-default, Y: 가맹점 로고 (사전에 모빌리언스에 가맹점 로고 이미지를 등록해야함)) |
| 843 | 814 |
String CALL_TYPE = "P"; //[ 4byte 이하] 결제창 호출 방식 (P: 팝업-default, SELF: 페이지전환, I: 아이프레임) |
| 844 |
- |
|
| 815 |
+ |
|
| 845 | 816 |
/***************************************************************************************** |
| 846 | 817 |
- 선택 입력 항목 |
| 847 | 818 |
*****************************************************************************************/ |
... | ... | @@ -863,7 +834,7 @@ |
| 863 | 834 |
String MSTR = ""; //[2000byte 이하] 가맹점 콜백 변수. 가맹점에서 추가적으로 파라미터가 필요한 경우 사용하며 &, % 는 사용불가 (예: MSTR="a=1|b=2|c=3") |
| 864 | 835 |
String MC_EZ_YN = "Y"; //[ 1byte 고정] 간소화결제여부. 간소화결제 사용시 "Y" 로 설정 (N: 미사용-default, Y: 사용) |
| 865 | 836 |
String MC_EZ_KEY = ""; //[ 20byte 고정] 간소화결제 사용자키 |
| 866 |
- |
|
| 837 |
+ |
|
| 867 | 838 |
/***************************************************************************************** |
| 868 | 839 |
- 오픈마켓의 경우 아래의 정보를 입력해야 합니다. |
| 869 | 840 |
장바구니 결제의 경우 대표 판매자 외 n명, 대표 판매자 연락처를 입력하세요. |
... | ... | @@ -872,7 +843,7 @@ |
| 872 | 843 |
*****************************************************************************************/ |
| 873 | 844 |
String Sellernm = ""; //[ 50byte 이하] 실판매자 이름 (오픈마켓의 경우 실 판매자 정보 필수) |
| 874 | 845 |
String Sellertel = ""; //[ 15byte 이하] 실판매자 전화번호 (오픈마켓의 경우 실 판매자 정보 필수) |
| 875 |
- |
|
| 846 |
+ |
|
| 876 | 847 |
/***************************************************************************************** |
| 877 | 848 |
- 디자인 관련 선택항목 (향후 변경될 수 있습니다.) |
| 878 | 849 |
*****************************************************************************************/ |
... | ... | @@ -901,7 +872,7 @@ |
| 901 | 872 |
Notiurl = McashCipher.encodeString(Notiurl, Tradeid); |
| 902 | 873 |
Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); |
| 903 | 874 |
Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); |
| 904 |
- } |
|
| 875 |
+ } |
|
| 905 | 876 |
|
| 906 | 877 |
// 필수 |
| 907 | 878 |
modelAndView.addObject("CASH_GB", CASH_GB);
|
... | ... | @@ -921,7 +892,7 @@ |
| 921 | 892 |
modelAndView.addObject("MC_DEFAULTCOMMID", MC_DEFAULTCOMMID);
|
| 922 | 893 |
modelAndView.addObject("MC_FIXCOMMID", MC_FIXCOMMID);
|
| 923 | 894 |
modelAndView.addObject("MC_FIXCOMMID", MC_FIXCOMMID);
|
| 924 |
- modelAndView.addObject("Item", Item);
|
|
| 895 |
+ modelAndView.addObject("Item", Item);
|
|
| 925 | 896 |
modelAndView.addObject("Prdtcd", Prdtcd);
|
| 926 | 897 |
modelAndView.addObject("MC_Cpcode", MC_Cpcode);
|
| 927 | 898 |
modelAndView.addObject("Notiemail", Notiemail);
|
... | ... | @@ -936,7 +907,7 @@ |
| 936 | 907 |
modelAndView.addObject("PRDT_HIDDEN", PRDT_HIDDEN);
|
| 937 | 908 |
modelAndView.addObject("EMAIL_HIDDEN", EMAIL_HIDDEN);
|
| 938 | 909 |
modelAndView.addObject("CONTRACT_HIDDEN", CONTRACT_HIDDEN);
|
| 939 |
- |
|
| 910 |
+ |
|
| 940 | 911 |
modelAndView.addObject("CALL_TYPE", CALL_TYPE);
|
| 941 | 912 |
modelAndView.addObject("Closeurl", Closeurl);
|
| 942 | 913 |
modelAndView.addObject("MSTR", MSTR);
|
... | ... | @@ -953,22 +924,22 @@ |
| 953 | 924 |
catch(Exception e) {
|
| 954 | 925 |
isSuccess = false; |
| 955 | 926 |
msg = e.getMessage(); |
| 956 |
- } |
|
| 927 |
+ } |
|
| 957 | 928 |
|
| 958 | 929 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 959 | 930 |
modelAndView.addObject("msg", msg);
|
| 960 |
- |
|
| 931 |
+ |
|
| 961 | 932 |
return modelAndView; |
| 962 |
- } |
|
| 963 |
- |
|
| 933 |
+ } |
|
| 934 |
+ |
|
| 964 | 935 |
/** |
| 965 |
- * KGM Mobile 결제 notiUrl 페이지 |
|
| 936 |
+ * KGM Mobile 결제 notiUrl 페이지 |
|
| 966 | 937 |
* @param searchVO |
| 967 | 938 |
* @param model |
| 968 | 939 |
* @throws Exception |
| 969 | 940 |
*/ |
| 970 | 941 |
@RequestMapping(value= {"/web/kgm/pay/notiUrlMobileAjax.do"})
|
| 971 |
- public String notiUrlMobileAjax( |
|
| 942 |
+ public String notiUrlMobileAjax( |
|
| 972 | 943 |
HttpServletRequest request |
| 973 | 944 |
, HttpServletResponse response |
| 974 | 945 |
, ModelMap model |
... | ... | @@ -976,13 +947,13 @@ |
| 976 | 947 |
|
| 977 | 948 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 978 | 949 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 979 |
- |
|
| 950 |
+ |
|
| 980 | 951 |
response.setContentType("text/xml; charset=euc-kr");
|
| 981 | 952 |
request.setCharacterEncoding("euc-kr");
|
| 982 |
- |
|
| 953 |
+ |
|
| 983 | 954 |
/*****************************************************************************************/ |
| 984 | 955 |
String CASH_GB = "MC"; //[ 2byte 고정] 결제수단구분. "MC" 고정값. 수정불가! |
| 985 |
- |
|
| 956 |
+ |
|
| 986 | 957 |
String rtnMsg = ""; |
| 987 | 958 |
String Svcid = request.getParameter("Svcid"); /* 서비스아이디 */
|
| 988 | 959 |
String Mobilid = request.getParameter("Mobilid"); /* 모빌리언스 거래번호 */
|
... | ... | @@ -1002,32 +973,32 @@ |
| 1002 | 973 |
String No = request.getParameter("No"); //[ 11byte 이하] 폰번호
|
| 1003 | 974 |
String USERKEY = request.getParameter("USERKEY"); //[ 15byte 이하] 휴대폰정보(이통사, 휴대폰번호, 주민번호) 대체용 USERKEY
|
| 1004 | 975 |
String MC_EZ_KEY = request.getParameter("Ezkey"); //[ 20byte 고정] 간소화결제 사용자키
|
| 1005 |
- |
|
| 976 |
+ |
|
| 1006 | 977 |
System.out.println("#############################################################");
|
| 1007 | 978 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE Tradeid : " + Tradeid);
|
| 1008 | 979 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE getIsKgmServerIp : " + getIsKgmServerIp(request)); // Kgm Ip Check
|
| 1009 |
- |
|
| 980 |
+ |
|
| 1010 | 981 |
try {
|
| 1011 | 982 |
// Step 1. Tid로 존재여부 체크 |
| 1012 | 983 |
int tidCnt = mjonPayService.selectPayCountByTid(Tradeid); |
| 1013 | 984 |
|
| 1014 | 985 |
if (tidCnt > 0) {
|
| 1015 | 986 |
// 저장된 데이터 있을경우 |
| 1016 |
- rtnMsg = "SUCCESS"; |
|
| 1017 |
- |
|
| 987 |
+ rtnMsg = "SUCCESS"; |
|
| 988 |
+ |
|
| 1018 | 989 |
System.out.println("#############################################################");
|
| 1019 | 990 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE Tradeid : " + Tradeid);
|
| 1020 |
- System.out.println("KG MOBILIANS NotiUrl - MOBILE returnMsg2 : " + rtnMsg);
|
|
| 1021 |
- } |
|
| 991 |
+ System.out.println("KG MOBILIANS NotiUrl - MOBILE returnMsg2 : " + rtnMsg);
|
|
| 992 |
+ } |
|
| 1022 | 993 |
else if (tidCnt == 0) {
|
| 1023 | 994 |
// Check1. KG모빌리언스 호출아이피 체크 |
| 1024 | 995 |
if (!getIsKgmServerIp(request)) {
|
| 1025 | 996 |
System.out.println("#############################################################");
|
| 1026 | 997 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리");
|
| 1027 |
- |
|
| 998 |
+ |
|
| 1028 | 999 |
Resultcd = "9998"; |
| 1029 | 1000 |
Resultmsg = "NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리. KG모빌리언스 정상결제 여부 확인후, 고객님께 안내후 결제취소해주세요."; |
| 1030 |
- |
|
| 1001 |
+ |
|
| 1031 | 1002 |
try {
|
| 1032 | 1003 |
// 법인폰 알람여부 체크 |
| 1033 | 1004 |
JoinSettingVO joinSettingVO = new JoinSettingVO(); |
... | ... | @@ -1035,23 +1006,23 @@ |
| 1035 | 1006 |
// SMS 체크 |
| 1036 | 1007 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 1037 | 1008 |
// 스미싱의심 SMS 알림전송 |
| 1038 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 1039 |
- } |
|
| 1040 |
- |
|
| 1009 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 1010 |
+ } |
|
| 1011 |
+ |
|
| 1041 | 1012 |
// SLACK 체크 |
| 1042 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1013 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1043 | 1014 |
// Slack 메시지 발송(단순본문) |
| 1044 | 1015 |
String msg = "[문자온] " + Userid + "님 결제건 알림 => NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리했습니다. KG모빌리언스 에는 정상결제 됐을수 있습니다. https://cp.mcash.co.kr/mcht 에서 정상결제 확인후, 고객님께 안내후, 결제취소해주세요."; |
| 1045 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1016 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1046 | 1017 |
} |
| 1047 | 1018 |
} |
| 1048 | 1019 |
catch (Exception e) {
|
| 1049 | 1020 |
System.out.println("#############################################################");
|
| 1050 |
- System.out.println("KG MOBILIANS NotiUrl - MOBILE : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 1051 |
- } |
|
| 1021 |
+ System.out.println("KG MOBILIANS NotiUrl - MOBILE : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 1022 |
+ } |
|
| 1052 | 1023 |
} |
| 1053 |
- |
|
| 1054 |
- // 저장 Start |
|
| 1024 |
+ |
|
| 1025 |
+ // 저장 Start |
|
| 1055 | 1026 |
// 사용자 정보 |
| 1056 | 1027 |
String mberNm = ""; |
| 1057 | 1028 |
String moblphonNo = ""; |
... | ... | @@ -1062,9 +1033,9 @@ |
| 1062 | 1033 |
if (userInfo != null) {
|
| 1063 | 1034 |
mberNm = userInfo.getMberNm(); |
| 1064 | 1035 |
moblphonNo = userInfo.getMoblphonNo(); |
| 1065 |
- mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 1036 |
+ mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 1066 | 1037 |
} |
| 1067 |
- |
|
| 1038 |
+ |
|
| 1068 | 1039 |
// MjonPayVO |
| 1069 | 1040 |
MjonPayVO mjonPayVO = new MjonPayVO(); |
| 1070 | 1041 |
mjonPayVO.setResultCd(Resultcd); |
... | ... | @@ -1084,7 +1055,7 @@ |
| 1084 | 1055 |
mjonPayVO.setUserId(Userid); |
| 1085 | 1056 |
mjonPayVO.setUserKey(USERKEY); |
| 1086 | 1057 |
mjonPayVO.setMcEzKey(MC_EZ_KEY); |
| 1087 |
- |
|
| 1058 |
+ |
|
| 1088 | 1059 |
// 추가정보(mj_pg) |
| 1089 | 1060 |
String pgStatus = ""; |
| 1090 | 1061 |
if("0000".equals(Resultcd)) {
|
... | ... | @@ -1095,13 +1066,13 @@ |
| 1095 | 1066 |
} |
| 1096 | 1067 |
mjonPayVO.setPgStatus(pgStatus); // 결제 상태 - 0:입금대기, 1:결제완료, 4.결제오류, 9:취소완료 |
| 1097 | 1068 |
mjonPayVO.setRcptType("9"); // 현금영수증 유형-0:미발행, 1:소득공제, 2:지출증빙, 9:세금계산서[PG에 없는 값]
|
| 1098 |
- mjonPayVO.setResultCode(Resultcd); |
|
| 1099 |
- mjonPayVO.setResultMsg(Resultmsg); |
|
| 1069 |
+ mjonPayVO.setResultCode(Resultcd); |
|
| 1070 |
+ mjonPayVO.setResultMsg(Resultmsg); |
|
| 1100 | 1071 |
mjonPayVO.setAmt(Prdtprice); // 결제금액 |
| 1101 | 1072 |
mjonPayVO.setPayMethod("CELLPHONE"); // 결제방법
|
| 1102 | 1073 |
mjonPayVO.setSpayMethod(""); // 간편결제 결제방법
|
| 1103 | 1074 |
mjonPayVO.setSpayDiv(""); // 간편결제분류
|
| 1104 |
- |
|
| 1075 |
+ |
|
| 1105 | 1076 |
mjonPayVO.setPgCode("KGM"); //
|
| 1106 | 1077 |
mjonPayVO.setGoodsName(Prdtnm); // |
| 1107 | 1078 |
mjonPayVO.setPhone(""); // 모바일
|
... | ... | @@ -1114,12 +1085,12 @@ |
| 1114 | 1085 |
mjonPayVO.setBuyerName(mberNm); |
| 1115 | 1086 |
mjonPayVO.setBuyerTel(moblphonNo); |
| 1116 | 1087 |
mjonPayVO.setBuyerEmail(mberEmailAdres); |
| 1117 |
- |
|
| 1088 |
+ |
|
| 1118 | 1089 |
// 인서트 |
| 1119 |
- mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 1120 |
- |
|
| 1090 |
+ mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 1091 |
+ |
|
| 1121 | 1092 |
rtnMsg = "SUCCESS"; |
| 1122 |
- |
|
| 1093 |
+ |
|
| 1123 | 1094 |
try {
|
| 1124 | 1095 |
// 휴대폰 15만원결제 => 법인폰 알림 |
| 1125 | 1096 |
if (mjonPayVO.getAmt().equals("165000")) {
|
... | ... | @@ -1129,16 +1100,16 @@ |
| 1129 | 1100 |
// SMS 체크 |
| 1130 | 1101 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 1131 | 1102 |
// 스미싱의심 SMS 알림전송 |
| 1132 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 15만원 결제", Userid, mberNm);
|
|
| 1133 |
- } |
|
| 1134 |
- |
|
| 1103 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 15만원 결제", Userid, mberNm);
|
|
| 1104 |
+ } |
|
| 1105 |
+ |
|
| 1135 | 1106 |
// SLACK 체크 |
| 1136 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1107 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1137 | 1108 |
// Slack 메시지 발송(단순본문) |
| 1138 | 1109 |
String msg = "[문자온] 스미싱의심/휴대폰 15만원 결제 - " + mberNm +"("+ Userid + ")";
|
| 1139 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1110 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1140 | 1111 |
} |
| 1141 |
- |
|
| 1112 |
+ |
|
| 1142 | 1113 |
// 스미싱 의심회원으로 변경 |
| 1143 | 1114 |
UserManageVO userManageVO = new UserManageVO(); |
| 1144 | 1115 |
userManageVO.setSmishingYn("Y");
|
... | ... | @@ -1160,33 +1131,33 @@ |
| 1160 | 1131 |
// SMS 체크 |
| 1161 | 1132 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 1162 | 1133 |
// 스미싱의심 SMS 알림전송 |
| 1163 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 첫결제", Userid, mberNm);
|
|
| 1164 |
- } |
|
| 1165 |
- |
|
| 1134 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/휴대폰 첫결제", Userid, mberNm);
|
|
| 1135 |
+ } |
|
| 1136 |
+ |
|
| 1166 | 1137 |
// SLACK 체크 |
| 1167 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1138 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1168 | 1139 |
// Slack 메시지 발송(단순본문) |
| 1169 | 1140 |
String msg = "[문자온] 스미싱의심/휴대폰 첫결제 - " + mberNm +"("+ Userid + ")";
|
| 1170 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1141 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1171 | 1142 |
} |
| 1172 |
- |
|
| 1143 |
+ |
|
| 1173 | 1144 |
// 스미싱 의심회원으로 변경 |
| 1174 | 1145 |
UserManageVO userManageVO = new UserManageVO(); |
| 1175 | 1146 |
userManageVO.setSmishingYn("Y");
|
| 1176 | 1147 |
userManageVO.setMberId(Userid); |
| 1177 |
- userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 1148 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 1178 | 1149 |
} |
| 1179 | 1150 |
} |
| 1180 |
- } |
|
| 1151 |
+ } |
|
| 1181 | 1152 |
} |
| 1182 | 1153 |
} |
| 1183 | 1154 |
catch (Exception e) {
|
| 1184 | 1155 |
System.out.println("#############################################################");
|
| 1185 | 1156 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE 슬랙알림 & 스미싱의심 처리 Error");
|
| 1186 | 1157 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE Tradeid : " + Tradeid);
|
| 1187 |
- System.out.println("KG MOBILIANS NotiUrl - MOBILE e.getMessage() : " + e.getMessage());
|
|
| 1158 |
+ System.out.println("KG MOBILIANS NotiUrl - MOBILE e.getMessage() : " + e.getMessage());
|
|
| 1188 | 1159 |
} |
| 1189 |
- |
|
| 1160 |
+ |
|
| 1190 | 1161 |
System.out.println("#############################################################");
|
| 1191 | 1162 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE Tradeid : " + Tradeid);
|
| 1192 | 1163 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE returnMsg : " + rtnMsg);
|
... | ... | @@ -1194,61 +1165,61 @@ |
| 1194 | 1165 |
} |
| 1195 | 1166 |
catch(Exception e) {
|
| 1196 | 1167 |
rtnMsg = "FAIL"; |
| 1197 |
- |
|
| 1168 |
+ |
|
| 1198 | 1169 |
System.out.println("#############################################################");
|
| 1199 | 1170 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE Tradeid : " + Tradeid);
|
| 1200 |
- System.out.println("KG MOBILIANS NotiUrl - MOBILE returnMsg : " + rtnMsg);
|
|
| 1171 |
+ System.out.println("KG MOBILIANS NotiUrl - MOBILE returnMsg : " + rtnMsg);
|
|
| 1201 | 1172 |
System.out.println("KG MOBILIANS NotiUrl - MOBILE e.getMessage() : " + e.getMessage());
|
| 1202 |
- } |
|
| 1203 |
- |
|
| 1173 |
+ } |
|
| 1174 |
+ |
|
| 1204 | 1175 |
model.addAttribute("returnMsg", rtnMsg);
|
| 1205 |
- |
|
| 1176 |
+ |
|
| 1206 | 1177 |
return "web/cop/kgmV2/mobileNotiUrl"; |
| 1207 | 1178 |
} |
| 1208 |
- |
|
| 1179 |
+ |
|
| 1209 | 1180 |
/** |
| 1210 |
- * KGM Mobile 결제 okUrl 페이지 |
|
| 1181 |
+ * KGM Mobile 결제 okUrl 페이지 |
|
| 1211 | 1182 |
* @param searchVO |
| 1212 | 1183 |
* @param model |
| 1213 | 1184 |
* @throws Exception |
| 1214 | 1185 |
*/ |
| 1215 | 1186 |
@RequestMapping(value= {"/web/kgm/pay/okUrlMobileAjax.do"})
|
| 1216 |
- public String okUrlMobileAjax( |
|
| 1187 |
+ public String okUrlMobileAjax( |
|
| 1217 | 1188 |
HttpServletRequest request |
| 1218 | 1189 |
, HttpSession session |
| 1219 |
- , HttpServletResponse response |
|
| 1190 |
+ , HttpServletResponse response |
|
| 1220 | 1191 |
, ModelMap model |
| 1221 | 1192 |
) throws Exception{
|
| 1222 | 1193 |
|
| 1223 | 1194 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 1224 | 1195 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 1225 |
- |
|
| 1196 |
+ |
|
| 1226 | 1197 |
String rstMsg = ""; |
| 1227 | 1198 |
if("0000".equals(request.getParameter("Resultcd"))) {
|
| 1228 | 1199 |
rstMsg = "휴대폰결제가 정상적으로 완료되었습니다."; |
| 1229 | 1200 |
} |
| 1230 | 1201 |
else {
|
| 1231 | 1202 |
rstMsg = "휴대폰결제가 실패했습니다."; |
| 1232 |
- } |
|
| 1233 |
- |
|
| 1203 |
+ } |
|
| 1204 |
+ |
|
| 1234 | 1205 |
model.addAttribute("Resultcd", request.getParameter("Resultcd"));
|
| 1235 |
- model.addAttribute("Resultmsg", rstMsg);
|
|
| 1206 |
+ model.addAttribute("Resultmsg", rstMsg);
|
|
| 1236 | 1207 |
|
| 1237 | 1208 |
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
|
| 1238 | 1209 |
System.out.println("KG MOBILIANS OkUrl - MOBILE ResultCd : " + request.getParameter("Resultcd"));
|
| 1239 |
- System.out.println("KG MOBILIANS OkUrl - MOBILE ResultMsg : " + rstMsg);
|
|
| 1240 |
- |
|
| 1210 |
+ System.out.println("KG MOBILIANS OkUrl - MOBILE ResultMsg : " + rstMsg);
|
|
| 1211 |
+ |
|
| 1241 | 1212 |
return "web/cop/kgmV2/mobileOkUrl"; |
| 1242 |
- } |
|
| 1243 |
- |
|
| 1244 |
- |
|
| 1213 |
+ } |
|
| 1214 |
+ |
|
| 1215 |
+ |
|
| 1245 | 1216 |
///////////////////////////////////////////////////////////////////////////////////////// |
| 1246 | 1217 |
// |
| 1247 | 1218 |
// |
| 1248 | 1219 |
// BANK |
| 1249 | 1220 |
// |
| 1250 | 1221 |
// |
| 1251 |
- |
|
| 1222 |
+ |
|
| 1252 | 1223 |
/** |
| 1253 | 1224 |
* KGM 즉시이체 정보 Encode |
| 1254 | 1225 |
* @param MjonPayVO |
... | ... | @@ -1257,7 +1228,7 @@ |
| 1257 | 1228 |
* @throws Exception |
| 1258 | 1229 |
*/ |
| 1259 | 1230 |
@RequestMapping(value = "/web/member/pay/kgmBankEncodeAjax.do") |
| 1260 |
- public ModelAndView kgmBankEncodeAjax(MjonPayVO mjonPayVO, |
|
| 1231 |
+ public ModelAndView kgmBankEncodeAjax(MjonPayVO mjonPayVO, |
|
| 1261 | 1232 |
HttpServletRequest request ) throws Exception {
|
| 1262 | 1233 |
|
| 1263 | 1234 |
ModelAndView modelAndView = new ModelAndView(); |
... | ... | @@ -1265,21 +1236,21 @@ |
| 1265 | 1236 |
|
| 1266 | 1237 |
boolean isSuccess = true; |
| 1267 | 1238 |
String msg = ""; |
| 1268 |
- |
|
| 1239 |
+ |
|
| 1269 | 1240 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 1270 | 1241 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 1271 | 1242 |
|
| 1272 | 1243 |
if(userId == null) {
|
| 1273 | 1244 |
isSuccess = false; |
| 1274 |
- msg = "로그인이 필요합니다."; |
|
| 1245 |
+ msg = "로그인이 필요합니다."; |
|
| 1275 | 1246 |
} |
| 1276 |
- |
|
| 1247 |
+ |
|
| 1277 | 1248 |
try {
|
| 1278 | 1249 |
// Get Server Info |
| 1279 | 1250 |
String kgmServerName = request.getServerName(); |
| 1280 | 1251 |
String kgmPath = ""; |
| 1281 | 1252 |
kgmPath = getKgServerPath(request); |
| 1282 |
- |
|
| 1253 |
+ |
|
| 1283 | 1254 |
// Unique한 거래번호를 위한 값 추출 (밀리세컨드까지 조회) |
| 1284 | 1255 |
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS");
|
| 1285 | 1256 |
String appr_dtm = dateFormat.format(new Date()); |
... | ... | @@ -1318,7 +1289,7 @@ |
| 1318 | 1289 |
*****************************************************************************************/ |
| 1319 | 1290 |
String LOGO_YN = "N"; //[ 1byte 고정] 가맹점 로고 사용 여부 (N: 모빌리언스 로고-default, Y: 가맹점 로고 (사전에 모빌리언스에 가맹점 로고 이미지를 등록해야함)) |
| 1320 | 1291 |
String CALL_TYPE = "P"; //[ 4byte 이하] 결제창 호출 방식 (P: 팝업-default, SELF: 페이지전환, I: 아이프레임) |
| 1321 |
- |
|
| 1292 |
+ |
|
| 1322 | 1293 |
/***************************************************************************************** |
| 1323 | 1294 |
- 디자인 관련 선택항목 (향후 변경될 수 있습니다.) |
| 1324 | 1295 |
*****************************************************************************************/ |
... | ... | @@ -1328,8 +1299,8 @@ |
| 1328 | 1299 |
String HEIGHT = ""; //[ 4byte 이하] 결제창 높이 (px단위: iframe 등 사용시 결제창 높이 조절, 팝업창 등 호출시 "" 로 세팅) |
| 1329 | 1300 |
String PRDT_HIDDEN = ""; //[ 1byte 고정] iframe 사용시 상품명 숨김 여부 (가맹점 디자인 결제창으로 결제 입력 사항만 iframe에서 사용시) |
| 1330 | 1301 |
String EMAIL_HIDDEN = ""; //[ 1byte 고정] 결제자 e-mail 입력창 숨김 여부 (N: 표시-default, Y: 미표시) |
| 1331 |
- String CONTRACT_HIDDEN = ""; //[ 1byte 고정] 이용약관 숨김 여부 (Y: 표시-default, N: 미표시) |
|
| 1332 |
- |
|
| 1302 |
+ String CONTRACT_HIDDEN = ""; //[ 1byte 고정] 이용약관 숨김 여부 (Y: 표시-default, N: 미표시) |
|
| 1303 |
+ |
|
| 1333 | 1304 |
/***************************************************************************************** |
| 1334 | 1305 |
- 암호화 처리 (암호화 사용 시) |
| 1335 | 1306 |
Cryptstring 항목은 금액변조에 대한 확인용으로 반드시 아래와 같이 문자열을 생성하여야 합니다. |
... | ... | @@ -1347,7 +1318,7 @@ |
| 1347 | 1318 |
Notiurl = McashCipher.encodeString(Notiurl, Tradeid); |
| 1348 | 1319 |
Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); |
| 1349 | 1320 |
Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); |
| 1350 |
- } |
|
| 1321 |
+ } |
|
| 1351 | 1322 |
|
| 1352 | 1323 |
// 필수 |
| 1353 | 1324 |
modelAndView.addObject("CASH_GB", CASH_GB);
|
... | ... | @@ -1355,7 +1326,7 @@ |
| 1355 | 1326 |
modelAndView.addObject("PAY_MODE", PAY_MODE);
|
| 1356 | 1327 |
modelAndView.addObject("Prdtnm", Prdtnm);
|
| 1357 | 1328 |
modelAndView.addObject("Siteurl", Siteurl);
|
| 1358 |
- modelAndView.addObject("Tradeid", Tradeid);
|
|
| 1329 |
+ modelAndView.addObject("Tradeid", Tradeid);
|
|
| 1359 | 1330 |
// 선택 |
| 1360 | 1331 |
modelAndView.addObject("Closeurl", Closeurl);
|
| 1361 | 1332 |
modelAndView.addObject("MSTR", MSTR);
|
... | ... | @@ -1373,7 +1344,7 @@ |
| 1373 | 1344 |
modelAndView.addObject("EMAIL_HIDDEN", EMAIL_HIDDEN);
|
| 1374 | 1345 |
modelAndView.addObject("CONTRACT_HIDDEN", CONTRACT_HIDDEN);
|
| 1375 | 1346 |
modelAndView.addObject("LOGO_YN", LOGO_YN);
|
| 1376 |
- modelAndView.addObject("CALL_TYPE", CALL_TYPE);
|
|
| 1347 |
+ modelAndView.addObject("CALL_TYPE", CALL_TYPE);
|
|
| 1377 | 1348 |
// 변환 |
| 1378 | 1349 |
modelAndView.addObject("Cryptyn", Cryptyn);
|
| 1379 | 1350 |
modelAndView.addObject("Okurl", Okurl);
|
... | ... | @@ -1385,22 +1356,22 @@ |
| 1385 | 1356 |
catch(Exception e) {
|
| 1386 | 1357 |
isSuccess = false; |
| 1387 | 1358 |
msg = e.getMessage(); |
| 1388 |
- } |
|
| 1359 |
+ } |
|
| 1389 | 1360 |
|
| 1390 | 1361 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 1391 | 1362 |
modelAndView.addObject("msg", msg);
|
| 1392 |
- |
|
| 1363 |
+ |
|
| 1393 | 1364 |
return modelAndView; |
| 1394 |
- } |
|
| 1395 |
- |
|
| 1365 |
+ } |
|
| 1366 |
+ |
|
| 1396 | 1367 |
/** |
| 1397 |
- * KGM Bank 결제notiUrl 페이지 |
|
| 1368 |
+ * KGM Bank 결제notiUrl 페이지 |
|
| 1398 | 1369 |
* @param searchVO |
| 1399 | 1370 |
* @param model |
| 1400 | 1371 |
* @throws Exception |
| 1401 | 1372 |
*/ |
| 1402 | 1373 |
@RequestMapping(value= {"/web/kgm/pay/notiUrlBankAjax.do"})
|
| 1403 |
- public String notiUrlBankAjax( |
|
| 1374 |
+ public String notiUrlBankAjax( |
|
| 1404 | 1375 |
HttpServletRequest request |
| 1405 | 1376 |
, HttpServletResponse response |
| 1406 | 1377 |
, ModelMap model |
... | ... | @@ -1408,10 +1379,10 @@ |
| 1408 | 1379 |
|
| 1409 | 1380 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 1410 | 1381 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 1411 |
- |
|
| 1382 |
+ |
|
| 1412 | 1383 |
/*****************************************************************************************/ |
| 1413 | 1384 |
String CASH_GB = "RA"; //[ 2byte 고정] 결제수단구분. "RA" 고정값. 수정불가! |
| 1414 |
- |
|
| 1385 |
+ |
|
| 1415 | 1386 |
String rtnMsg = ""; |
| 1416 | 1387 |
String Resultcd = request.getParameter("Resultcd"); //[ 4byte 고정] 결과코드
|
| 1417 | 1388 |
String Resultmsg = request.getParameter("Resultmsg"); //[ 100byte 이하] 결과메세지
|
... | ... | @@ -1426,33 +1397,33 @@ |
| 1426 | 1397 |
// 추가 |
| 1427 | 1398 |
String Payeremail = request.getParameter("Payeremail"); /* 결제자 이메일 */
|
| 1428 | 1399 |
String Banknm = request.getParameter("Banknm"); /* 은행명 */
|
| 1429 |
- |
|
| 1400 |
+ |
|
| 1430 | 1401 |
System.out.println("#############################################################");
|
| 1431 | 1402 |
System.out.println("KG MOBILIANS NotiUrl - BANK Tradeid : " + Tradeid);
|
| 1432 | 1403 |
System.out.println("KG MOBILIANS NotiUrl - BANK Banknm : " + Banknm);
|
| 1433 | 1404 |
System.out.println("KG MOBILIANS NotiUrl - BANK getIsKgmServerIp : " + getIsKgmServerIp(request)); // Kgm Ip Check
|
| 1434 |
- |
|
| 1405 |
+ |
|
| 1435 | 1406 |
try {
|
| 1436 | 1407 |
// Step 1. Tid로 존재여부 체크 |
| 1437 | 1408 |
int tidCnt = mjonPayService.selectPayCountByTid(Tradeid); |
| 1438 | 1409 |
|
| 1439 | 1410 |
if (tidCnt > 0) {
|
| 1440 | 1411 |
// 저장된 데이터 있을경우 |
| 1441 |
- rtnMsg = "SUCCESS"; |
|
| 1442 |
- |
|
| 1412 |
+ rtnMsg = "SUCCESS"; |
|
| 1413 |
+ |
|
| 1443 | 1414 |
System.out.println("#############################################################");
|
| 1444 | 1415 |
System.out.println("KG MOBILIANS NotiUrl - BANK Tradeid : " + Tradeid);
|
| 1445 |
- System.out.println("KG MOBILIANS NotiUrl - BANK returnMsg2 : " + rtnMsg);
|
|
| 1446 |
- } |
|
| 1416 |
+ System.out.println("KG MOBILIANS NotiUrl - BANK returnMsg2 : " + rtnMsg);
|
|
| 1417 |
+ } |
|
| 1447 | 1418 |
else if (tidCnt == 0) {
|
| 1448 | 1419 |
// Check1. KG모빌리언스 호출아이피 체크 |
| 1449 | 1420 |
if (!getIsKgmServerIp(request)) {
|
| 1450 | 1421 |
System.out.println("#############################################################");
|
| 1451 | 1422 |
System.out.println("KG MOBILIANS NotiUrl - BANK : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리");
|
| 1452 |
- |
|
| 1423 |
+ |
|
| 1453 | 1424 |
Resultcd = "9998"; |
| 1454 | 1425 |
Resultmsg = "NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리. KG모빌리언스 정상결제 여부 확인후, 고객님께 안내후 결제취소해주세요."; |
| 1455 |
- |
|
| 1426 |
+ |
|
| 1456 | 1427 |
try {
|
| 1457 | 1428 |
// 법인폰 알람여부 체크 |
| 1458 | 1429 |
JoinSettingVO joinSettingVO = new JoinSettingVO(); |
... | ... | @@ -1460,23 +1431,23 @@ |
| 1460 | 1431 |
// SMS 체크 |
| 1461 | 1432 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 1462 | 1433 |
// 스미싱의심 SMS 알림전송 |
| 1463 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 1464 |
- } |
|
| 1465 |
- |
|
| 1434 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리", Userid, "");
|
|
| 1435 |
+ } |
|
| 1436 |
+ |
|
| 1466 | 1437 |
// SLACK 체크 |
| 1467 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1438 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1468 | 1439 |
// Slack 메시지 발송(단순본문) |
| 1469 | 1440 |
String msg = "[문자온] " + Userid + "님 결제건 알림 => NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리했습니다. KG모빌리언스 에는 정상결제 됐을수 있습니다. https://cp.mcash.co.kr/mcht 에서 정상결제 확인후, 고객님께 안내후, 결제취소해주세요."; |
| 1470 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1441 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1471 | 1442 |
} |
| 1472 | 1443 |
} |
| 1473 | 1444 |
catch (Exception e) {
|
| 1474 | 1445 |
System.out.println("#############################################################");
|
| 1475 |
- System.out.println("KG MOBILIANS NotiUrl - BANK : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 1476 |
- } |
|
| 1446 |
+ System.out.println("KG MOBILIANS NotiUrl - BANK : NotiUrl 호출 IP가 KG모빌리언스 결제서버군이 아니어서 결제오류 처리 => SMS, 슬랙 알림 오류");
|
|
| 1447 |
+ } |
|
| 1477 | 1448 |
} |
| 1478 |
- |
|
| 1479 |
- // 저장 Start |
|
| 1449 |
+ |
|
| 1450 |
+ // 저장 Start |
|
| 1480 | 1451 |
// 사용자 정보 |
| 1481 | 1452 |
String mberNm = ""; |
| 1482 | 1453 |
String moblphonNo = ""; |
... | ... | @@ -1487,9 +1458,9 @@ |
| 1487 | 1458 |
if (userInfo != null) {
|
| 1488 | 1459 |
mberNm = userInfo.getMberNm(); |
| 1489 | 1460 |
moblphonNo = userInfo.getMoblphonNo(); |
| 1490 |
- mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 1461 |
+ mberEmailAdres = userInfo.getMberEmailAdres(); |
|
| 1491 | 1462 |
} |
| 1492 |
- |
|
| 1463 |
+ |
|
| 1493 | 1464 |
// MjonPayVO |
| 1494 | 1465 |
MjonPayVO mjonPayVO = new MjonPayVO(); |
| 1495 | 1466 |
mjonPayVO.setResultCd(Resultcd); |
... | ... | @@ -1520,12 +1491,12 @@ |
| 1520 | 1491 |
} |
| 1521 | 1492 |
mjonPayVO.setPgStatus(pgStatus); // 결제 상태 - 0:입금대기, 1:결제완료, 4.결제오류, 9:취소완료 |
| 1522 | 1493 |
mjonPayVO.setRcptType("9"); // 현금영수증 유형-0:미발행, 1:소득공제, 2:지출증빙, 9:세금계산서[PG에 없는 값]
|
| 1523 |
- mjonPayVO.setResultCode(Resultcd); |
|
| 1524 |
- mjonPayVO.setResultMsg(Resultmsg); |
|
| 1494 |
+ mjonPayVO.setResultCode(Resultcd); |
|
| 1495 |
+ mjonPayVO.setResultMsg(Resultmsg); |
|
| 1525 | 1496 |
mjonPayVO.setAmt(Prdtprice); // 결제금액 |
| 1526 | 1497 |
mjonPayVO.setPayMethod("BANK"); // 결제방법
|
| 1527 | 1498 |
mjonPayVO.setSpayMethod(""); // 간편결제 결제방법
|
| 1528 |
- mjonPayVO.setSpayDiv(""); // 간편결제분류
|
|
| 1499 |
+ mjonPayVO.setSpayDiv(""); // 간편결제분류
|
|
| 1529 | 1500 |
mjonPayVO.setPgCode("KGM"); //
|
| 1530 | 1501 |
mjonPayVO.setGoodsName(Prdtnm); // |
| 1531 | 1502 |
mjonPayVO.setPhone(""); // 모바일
|
... | ... | @@ -1539,13 +1510,13 @@ |
| 1539 | 1510 |
mjonPayVO.setBuyerTel(moblphonNo); |
| 1540 | 1511 |
mjonPayVO.setBuyerEmail(mberEmailAdres); |
| 1541 | 1512 |
// 추가 |
| 1542 |
- mjonPayVO.setBankName(Banknm); |
|
| 1543 |
- |
|
| 1513 |
+ mjonPayVO.setBankName(Banknm); |
|
| 1514 |
+ |
|
| 1544 | 1515 |
// 인서트 |
| 1545 |
- mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 1546 |
- |
|
| 1516 |
+ mjonPayService.insertKgmAllV2(mjonPayVO); |
|
| 1517 |
+ |
|
| 1547 | 1518 |
rtnMsg = "SUCCESS"; |
| 1548 |
- |
|
| 1519 |
+ |
|
| 1549 | 1520 |
try {
|
| 1550 | 1521 |
// 대상 : 휴대폰결제, 즉시이체, 전용계좌 |
| 1551 | 1522 |
// Step 1. 스미싱의심 지정 여부 |
... | ... | @@ -1561,69 +1532,69 @@ |
| 1561 | 1532 |
// SMS 체크 |
| 1562 | 1533 |
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
| 1563 | 1534 |
// 스미싱의심 SMS 알림전송 |
| 1564 |
- mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/즉시이체 첫결제", Userid, mberNm);
|
|
| 1565 |
- } |
|
| 1566 |
- |
|
| 1535 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("스미싱의심/즉시이체 첫결제", Userid, mberNm);
|
|
| 1536 |
+ } |
|
| 1537 |
+ |
|
| 1567 | 1538 |
// SLACK 체크 |
| 1568 |
- if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1539 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 1569 | 1540 |
// Slack 메시지 발송(단순본문) |
| 1570 | 1541 |
String msg = "[문자온] 스미싱의심/즉시이체 첫결제 - " + mberNm +"("+ Userid + ")";
|
| 1571 |
- mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1542 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 1572 | 1543 |
} |
| 1573 |
- |
|
| 1544 |
+ |
|
| 1574 | 1545 |
// 스미싱 의심회원으로 변경 |
| 1575 | 1546 |
UserManageVO userManageVO = new UserManageVO(); |
| 1576 | 1547 |
userManageVO.setSmishingYn("Y");
|
| 1577 | 1548 |
userManageVO.setMberId(Userid); |
| 1578 |
- userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 1549 |
+ userManageService.updateOneUserSmishingYnNotAlert(userManageVO); |
|
| 1579 | 1550 |
} |
| 1580 | 1551 |
} |
| 1581 |
- } |
|
| 1552 |
+ } |
|
| 1582 | 1553 |
} |
| 1583 | 1554 |
catch (Exception e) {
|
| 1584 | 1555 |
System.out.println("#############################################################");
|
| 1585 | 1556 |
System.out.println("KG MOBILIANS NotiUrl - BANK 슬랙알림 & 스미싱의심 처리 Error");
|
| 1586 | 1557 |
System.out.println("KG MOBILIANS NotiUrl - BANK Tradeid : " + Tradeid);
|
| 1587 |
- System.out.println("KG MOBILIANS NotiUrl - BANK e.getMessage() : " + e.getMessage());
|
|
| 1588 |
- } |
|
| 1589 |
- |
|
| 1558 |
+ System.out.println("KG MOBILIANS NotiUrl - BANK e.getMessage() : " + e.getMessage());
|
|
| 1559 |
+ } |
|
| 1560 |
+ |
|
| 1590 | 1561 |
System.out.println("#############################################################");
|
| 1591 | 1562 |
System.out.println("KG MOBILIANS NotiUrl - BANK Tradeid : " + Tradeid);
|
| 1592 |
- System.out.println("KG MOBILIANS NotiUrl - BANK returnMsg : " + rtnMsg);
|
|
| 1563 |
+ System.out.println("KG MOBILIANS NotiUrl - BANK returnMsg : " + rtnMsg);
|
|
| 1593 | 1564 |
} |
| 1594 | 1565 |
} |
| 1595 | 1566 |
catch(Exception e) {
|
| 1596 | 1567 |
rtnMsg = "FAIL"; |
| 1597 |
- |
|
| 1568 |
+ |
|
| 1598 | 1569 |
System.out.println("#############################################################");
|
| 1599 | 1570 |
System.out.println("KG MOBILIANS NotiUrl - BANK Tradeid : " + Tradeid);
|
| 1600 | 1571 |
System.out.println("KG MOBILIANS NotiUrl - BANK returnMsg : " + rtnMsg);
|
| 1601 | 1572 |
System.out.println("KG MOBILIANS NotiUrl - BANK e.getMessage() : " + e.getMessage());
|
| 1602 |
- } |
|
| 1573 |
+ } |
|
| 1603 | 1574 |
|
| 1604 |
- |
|
| 1575 |
+ |
|
| 1605 | 1576 |
model.addAttribute("returnMsg", rtnMsg);
|
| 1606 |
- |
|
| 1577 |
+ |
|
| 1607 | 1578 |
return "web/cop/kgmV2/bankNotiUrl"; |
| 1608 | 1579 |
} |
| 1609 |
- |
|
| 1580 |
+ |
|
| 1610 | 1581 |
/** |
| 1611 |
- * KGM Bank 결제 okUrl 페이지 |
|
| 1582 |
+ * KGM Bank 결제 okUrl 페이지 |
|
| 1612 | 1583 |
* @param searchVO |
| 1613 | 1584 |
* @param model |
| 1614 | 1585 |
* @throws Exception |
| 1615 | 1586 |
*/ |
| 1616 | 1587 |
@RequestMapping(value= {"/web/kgm/pay/okUrlBankAjax.do"})
|
| 1617 |
- public String okUrlBankAjax( |
|
| 1588 |
+ public String okUrlBankAjax( |
|
| 1618 | 1589 |
HttpServletRequest request |
| 1619 | 1590 |
, HttpSession session |
| 1620 |
- , HttpServletResponse response |
|
| 1591 |
+ , HttpServletResponse response |
|
| 1621 | 1592 |
, ModelMap model |
| 1622 | 1593 |
) throws Exception{
|
| 1623 | 1594 |
|
| 1624 | 1595 |
//크롬 SameSite정책 방지 - 도메인이 다른 타사로 이동 시 크롬 정책에 의해 세션 유실이 일어나는 경우가 있는데, 이를 방지하기 위해 samesite 보안을 none처리 |
| 1625 | 1596 |
response.setHeader("Set-Cookie", "mberSession=mberSession; Secure; SameSite=None");
|
| 1626 |
- |
|
| 1597 |
+ |
|
| 1627 | 1598 |
String rstMsg = ""; |
| 1628 | 1599 |
if("0000".equals(request.getParameter("Resultcd"))) {
|
| 1629 | 1600 |
rstMsg = "즉시이체가 정상적으로 완료되었습니다."; |
... | ... | @@ -1637,34 +1608,34 @@ |
| 1637 | 1608 |
|
| 1638 | 1609 |
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
|
| 1639 | 1610 |
System.out.println("KG MOBILIANS OkUrl - BANK ResultCd : " + request.getParameter("Resultcd"));
|
| 1640 |
- System.out.println("KG MOBILIANS OkUrl - BANK ResultMsg : " + rstMsg);
|
|
| 1641 |
- |
|
| 1611 |
+ System.out.println("KG MOBILIANS OkUrl - BANK ResultMsg : " + rstMsg);
|
|
| 1612 |
+ |
|
| 1642 | 1613 |
return "web/cop/kgmV2/bankOkUrl"; |
| 1643 |
- } |
|
| 1644 |
- |
|
| 1614 |
+ } |
|
| 1615 |
+ |
|
| 1645 | 1616 |
/** |
| 1646 | 1617 |
* 마지막 결제수단 SELECT |
| 1647 | 1618 |
* @throws Exception |
| 1648 | 1619 |
*/ |
| 1649 | 1620 |
@RequestMapping(value = "/web/member/pay/selectLastPayMethodAjax.do") |
| 1650 |
- public ModelAndView selectLastPayMethodAjax(MjonPayVO mjonPayVO, |
|
| 1621 |
+ public ModelAndView selectLastPayMethodAjax(MjonPayVO mjonPayVO, |
|
| 1651 | 1622 |
HttpServletRequest request ) throws Exception {
|
| 1652 |
- |
|
| 1623 |
+ |
|
| 1653 | 1624 |
ModelAndView modelAndView = new ModelAndView(); |
| 1654 | 1625 |
modelAndView.setViewName("jsonView");
|
| 1655 |
- |
|
| 1626 |
+ |
|
| 1656 | 1627 |
boolean isSuccess = true; |
| 1657 | 1628 |
String msg = ""; |
| 1658 | 1629 |
String nextPayMethod = ""; |
| 1659 |
- |
|
| 1630 |
+ |
|
| 1660 | 1631 |
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); |
| 1661 | 1632 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 1662 |
- |
|
| 1633 |
+ |
|
| 1663 | 1634 |
if(userId == null) {
|
| 1664 | 1635 |
isSuccess = false; |
| 1665 |
- msg = "로그인이 필요합니다."; |
|
| 1636 |
+ msg = "로그인이 필요합니다."; |
|
| 1666 | 1637 |
} |
| 1667 |
- |
|
| 1638 |
+ |
|
| 1668 | 1639 |
try {
|
| 1669 | 1640 |
// 다음 결제시 결제수단 SELECT |
| 1670 | 1641 |
nextPayMethod = userManageService.selectLastPayMethod(userId); |
... | ... | @@ -1672,38 +1643,38 @@ |
| 1672 | 1643 |
catch(Exception e) {
|
| 1673 | 1644 |
isSuccess = false; |
| 1674 | 1645 |
msg = e.getMessage(); |
| 1675 |
- } |
|
| 1676 |
- |
|
| 1646 |
+ } |
|
| 1647 |
+ |
|
| 1677 | 1648 |
modelAndView.addObject("isSuccess", isSuccess);
|
| 1678 | 1649 |
modelAndView.addObject("msg", msg);
|
| 1679 | 1650 |
modelAndView.addObject("nextPayMethod", nextPayMethod);
|
| 1680 |
- |
|
| 1651 |
+ |
|
| 1681 | 1652 |
return modelAndView; |
| 1682 | 1653 |
} |
| 1683 |
- |
|
| 1654 |
+ |
|
| 1684 | 1655 |
// Get Server Path |
| 1685 | 1656 |
public static String getKgServerPath(HttpServletRequest request) {
|
| 1686 | 1657 |
String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort(); |
| 1687 | 1658 |
if (request.getServerPort() == 80) {
|
| 1688 | 1659 |
kgmPath = request.getScheme() + "://" + request.getServerName(); |
| 1689 |
- } |
|
| 1660 |
+ } |
|
| 1690 | 1661 |
|
| 1691 | 1662 |
// 테스트서버 정보 변환 |
| 1692 | 1663 |
if(kgmPath.indexOf("192.168.0.125") > -1){
|
| 1693 | 1664 |
kgmPath = "https://test.munjaon.co.kr:9998"; |
| 1694 |
- } |
|
| 1695 |
- |
|
| 1665 |
+ } |
|
| 1666 |
+ |
|
| 1696 | 1667 |
System.out.println("#############################################################");
|
| 1697 | 1668 |
System.out.println("KG MOBILIANS kgServerPath : " + kgmPath);
|
| 1698 |
- |
|
| 1669 |
+ |
|
| 1699 | 1670 |
return kgmPath; |
| 1700 |
- } |
|
| 1701 |
- |
|
| 1671 |
+ } |
|
| 1672 |
+ |
|
| 1702 | 1673 |
// Get Ip |
| 1703 | 1674 |
public static String getClientIP(HttpServletRequest request) {
|
| 1704 | 1675 |
String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
|
| 1705 | 1676 |
String ipMethod = "X-Forwarded-For"; |
| 1706 |
- |
|
| 1677 |
+ |
|
| 1707 | 1678 |
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
|
| 1708 | 1679 |
ip = request.getHeader("Proxy-Client-IP");
|
| 1709 | 1680 |
ipMethod = "Proxy-Client-IP"; |
... | ... | @@ -1724,18 +1695,18 @@ |
| 1724 | 1695 |
ip = request.getRemoteAddr(); |
| 1725 | 1696 |
ipMethod = "getRemoteAddr"; |
| 1726 | 1697 |
} |
| 1727 |
- |
|
| 1698 |
+ |
|
| 1728 | 1699 |
System.out.println("#############################################################");
|
| 1729 | 1700 |
System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ipMethod);
|
| 1730 | 1701 |
System.out.println("KG MOBILIANS NotiUrl - getClientIP : " + ip);
|
| 1731 |
- |
|
| 1702 |
+ |
|
| 1732 | 1703 |
return ip; |
| 1733 | 1704 |
} |
| 1734 |
- |
|
| 1705 |
+ |
|
| 1735 | 1706 |
// Kgm Ip Check |
| 1736 | 1707 |
public boolean getIsKgmServerIp(HttpServletRequest request) {
|
| 1737 | 1708 |
boolean rtnVal = false; |
| 1738 |
- |
|
| 1709 |
+ |
|
| 1739 | 1710 |
String[] kgmServerIpArray = {
|
| 1740 | 1711 |
"175.158.12.133" |
| 1741 | 1712 |
, "175.158.12.140" |
... | ... | @@ -1743,18 +1714,18 @@ |
| 1743 | 1714 |
, "116.127.121.151" |
| 1744 | 1715 |
, "218.50.55.107" |
| 1745 | 1716 |
, "116.127.121.132"}; |
| 1746 |
- |
|
| 1717 |
+ |
|
| 1747 | 1718 |
// List 로 변환 |
| 1748 | 1719 |
List<String> strList = new ArrayList<>(Arrays.asList(kgmServerIpArray)); |
| 1749 |
- |
|
| 1720 |
+ |
|
| 1750 | 1721 |
// List Contains |
| 1751 | 1722 |
if(strList.contains(getClientIP(request))) {
|
| 1752 | 1723 |
rtnVal = true; // 해당아이피 strArray에 존재 |
| 1753 | 1724 |
} |
| 1754 |
- |
|
| 1725 |
+ |
|
| 1755 | 1726 |
return rtnVal; |
| 1756 | 1727 |
} |
| 1757 |
- |
|
| 1728 |
+ |
|
| 1758 | 1729 |
/** |
| 1759 | 1730 |
* 전달된 파라미터에 맞게 난수를 생성한다 |
| 1760 | 1731 |
* @param len : 생성할 난수의 길이 |
... | ... | @@ -1763,12 +1734,12 @@ |
| 1763 | 1734 |
public static String numberGen(int len, int dupCd ) {
|
| 1764 | 1735 |
Random rand = new Random(); |
| 1765 | 1736 |
String numStr = ""; //난수가 저장될 변수 |
| 1766 |
- |
|
| 1737 |
+ |
|
| 1767 | 1738 |
for(int i=0;i<len;i++) {
|
| 1768 |
- |
|
| 1739 |
+ |
|
| 1769 | 1740 |
//0~9 까지 난수 생성 |
| 1770 | 1741 |
String ran = Integer.toString(rand.nextInt(10)); |
| 1771 |
- |
|
| 1742 |
+ |
|
| 1772 | 1743 |
if(dupCd==1) {
|
| 1773 | 1744 |
//중복 허용시 numStr에 append |
| 1774 | 1745 |
numStr += ran; |
... | ... | @@ -1785,16 +1756,16 @@ |
| 1785 | 1756 |
} |
| 1786 | 1757 |
return numStr; |
| 1787 | 1758 |
} |
| 1788 |
- |
|
| 1759 |
+ |
|
| 1789 | 1760 |
// Itm Member Id Check |
| 1790 | 1761 |
public boolean getItnMemberId(String userId) {
|
| 1791 | 1762 |
boolean rtnVal = false; |
| 1792 |
- |
|
| 1763 |
+ |
|
| 1793 | 1764 |
String[] idArray = {
|
| 1794 | 1765 |
"nobledeco" |
| 1795 | 1766 |
, "nopay" |
| 1796 | 1767 |
, "dlwldn" |
| 1797 |
- |
|
| 1768 |
+ |
|
| 1798 | 1769 |
, "afterpay" |
| 1799 | 1770 |
, "anjooyoung" |
| 1800 | 1771 |
, "antelope3" |
... | ... | @@ -1864,18 +1835,18 @@ |
| 1864 | 1835 |
, "rosewiper6" |
| 1865 | 1836 |
, "rosewiper7" |
| 1866 | 1837 |
, "subsub8729" |
| 1867 |
- , "whtkdgml3627" |
|
| 1838 |
+ , "whtkdgml3627" |
|
| 1868 | 1839 |
}; |
| 1869 |
- |
|
| 1840 |
+ |
|
| 1870 | 1841 |
// List 로 변환 |
| 1871 | 1842 |
List<String> strList = new ArrayList<>(Arrays.asList(idArray)); |
| 1872 |
- |
|
| 1843 |
+ |
|
| 1873 | 1844 |
// List Contains |
| 1874 | 1845 |
if(strList.contains(userId)) {
|
| 1875 | 1846 |
rtnVal = true; // 해당아이피 strArray에 존재 |
| 1876 | 1847 |
} |
| 1877 |
- |
|
| 1848 |
+ |
|
| 1878 | 1849 |
return rtnVal; |
| 1879 | 1850 |
} |
| 1880 |
- |
|
| 1851 |
+ |
|
| 1881 | 1852 |
} |
--- src/main/java/itn/let/mjo/test/web/TestController.java
+++ src/main/java/itn/let/mjo/test/web/TestController.java
... | ... | @@ -3506,7 +3506,7 @@ |
| 3506 | 3506 |
@RequestMapping("/uss/ion/test/callNicepay.do")
|
| 3507 | 3507 |
public String callNicepay(Model model) {
|
| 3508 | 3508 |
String url = "https://dev.nicepay.co.kr/webapi/sslConnectionTest.jsp"; |
| 3509 |
- String mid = "itn180208m"; // 실제 MID 값으로 변경 |
|
| 3509 |
+ String mid = "nictest00m"; // 실제 MID 값으로 변경 |
|
| 3510 | 3510 |
|
| 3511 | 3511 |
try {
|
| 3512 | 3512 |
// RestTemplate 사용 |
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/cancelResult.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/cancelResult.jsp
... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 |
String tid = (String)request.getParameter("TID"); // 거래 ID
|
| 28 | 28 |
String cancelAmt = (String)request.getParameter("CancelAmt"); // 취소금액
|
| 29 | 29 |
String partialCancelCode = (String)request.getParameter("PartialCancelCode"); // 부분취소여부
|
| 30 |
-String mid = "itn180208m"; // 상점 ID |
|
| 30 |
+String mid = "nictest00m"; // 상점 ID |
|
| 31 | 31 |
String moid = "nicepay_api_3.0_test"; // 주문번호 |
| 32 | 32 |
String cancelMsg = "고객요청"; // 취소사유 |
| 33 | 33 |
|
... | ... | @@ -39,7 +39,7 @@ |
| 39 | 39 |
**************************************************************************************** |
| 40 | 40 |
*/ |
| 41 | 41 |
DataEncrypt sha256Enc = new DataEncrypt(); |
| 42 |
-String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 42 |
+String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 43 | 43 |
String ediDate = getyyyyMMddHHmmss(); |
| 44 | 44 |
String signData = sha256Enc.encrypt(mid + cancelAmt + ediDate + merchantKey); |
| 45 | 45 |
|
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/cancelResult_utf.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/cancelResult_utf.jsp
... | ... | @@ -27,7 +27,7 @@ |
| 27 | 27 |
String tid = (String)request.getParameter("TID"); // 거래 ID
|
| 28 | 28 |
String cancelAmt = (String)request.getParameter("CancelAmt"); // 취소금액
|
| 29 | 29 |
String partialCancelCode = (String)request.getParameter("PartialCancelCode"); // 부분취소여부
|
| 30 |
-String mid = "itn180208m"; // 상점 ID |
|
| 30 |
+String mid = "nictest00m"; // 상점 ID |
|
| 31 | 31 |
String moid = "nicepay_api_3.0_test"; // 주문번호 |
| 32 | 32 |
String cancelMsg = "고객요청"; // 취소사유 |
| 33 | 33 |
|
... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 |
**************************************************************************************** |
| 39 | 39 |
*/ |
| 40 | 40 |
DataEncrypt sha256Enc = new DataEncrypt(); |
| 41 |
-String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 41 |
+String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 42 | 42 |
String ediDate = getyyyyMMddHHmmss(); |
| 43 | 43 |
String signData = sha256Enc.encrypt(mid + cancelAmt + ediDate + merchantKey); |
| 44 | 44 |
|
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest.jsp
... | ... | @@ -12,8 +12,8 @@ |
| 12 | 12 |
* 추가 가능한 옵션 파라미터는 연동메뉴얼을 참고하세요. |
| 13 | 13 |
******************************************************* |
| 14 | 14 |
*/ |
| 15 |
-String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 16 |
-String merchantID = "itn180208m"; // 상점아이디 |
|
| 15 |
+String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 16 |
+String merchantID = "nictest00m"; // 상점아이디 |
|
| 17 | 17 |
String goodsName = "나이스페이"; // 결제상품명 |
| 18 | 18 |
String price = "500"; // 결제상품금액 |
| 19 | 19 |
String buyerName = "나이스"; // 구매자명 |
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest.jsp_back
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest.jsp_back
... | ... | @@ -12,8 +12,8 @@ |
| 12 | 12 |
* 추가 가능한 옵션 파라미터는 연동메뉴얼을 참고하세요. |
| 13 | 13 |
******************************************************* |
| 14 | 14 |
*/ |
| 15 |
-String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 16 |
-String merchantID = "itn180208m"; // 상점아이디 |
|
| 15 |
+String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 16 |
+String merchantID = "nictest00m"; // 상점아이디 |
|
| 17 | 17 |
String goodsName = "나이스페이"; // 결제상품명 |
| 18 | 18 |
String price = "500"; // 결제상품금액 |
| 19 | 19 |
String buyerName = "나이스"; // 구매자명 |
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest_utf.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/payRequest_utf.jsp
... | ... | @@ -12,8 +12,8 @@ |
| 12 | 12 |
* 추가 가능한 옵션 파라미터는 연동메뉴얼을 참고하세요. |
| 13 | 13 |
******************************************************* |
| 14 | 14 |
*/ |
| 15 |
-String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 16 |
-String merchantID = "itn180208m"; // 상점아이디 |
|
| 15 |
+String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 16 |
+String merchantID = "nictest00m"; // 상점아이디 |
|
| 17 | 17 |
String goodsName = "나이스페이"; // 결제상품명 |
| 18 | 18 |
String price = "1004"; // 결제상품금액 |
| 19 | 19 |
String buyerName = "나이스"; // 구매자명 |
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/payResult.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/payResult.jsp
... | ... | @@ -55,7 +55,7 @@ |
| 55 | 55 |
**************************************************************************************** |
| 56 | 56 |
*/ |
| 57 | 57 |
DataEncrypt sha256Enc = new DataEncrypt(); |
| 58 |
- String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 58 |
+ String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 59 | 59 |
String ediDate = getyyyyMMddHHmmss(); |
| 60 | 60 |
String signData = sha256Enc.encrypt(authToken + mid + amt + ediDate + merchantKey); |
| 61 | 61 |
|
--- src/main/webapp/WEB-INF/jsp/sample/nicepay/payResult_utf.jsp
+++ src/main/webapp/WEB-INF/jsp/sample/nicepay/payResult_utf.jsp
... | ... | @@ -55,7 +55,7 @@ |
| 55 | 55 |
**************************************************************************************** |
| 56 | 56 |
*/ |
| 57 | 57 |
DataEncrypt sha256Enc = new DataEncrypt(); |
| 58 |
- String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 상점키 |
|
| 58 |
+ String merchantKey = "33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A=="; // 상점키 |
|
| 59 | 59 |
String ediDate = getyyyyMMddHHmmss(); |
| 60 | 60 |
String signData = sha256Enc.encrypt(authToken + mid + amt + ediDate + merchantKey); |
| 61 | 61 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?