결제 - 키움결제 적용 2차
This commit is contained in:
@@ -5492,8 +5492,12 @@ public class BOOrdrService{
|
|||||||
================================================== */
|
================================================== */
|
||||||
// todo :: api 연결이 아닌 db셀렉트로 변경.
|
// todo :: api 연결이 아닌 db셀렉트로 변경.
|
||||||
DataMap kiwoomPayMap = mapper.selectKiwoomPgApiLog(payVO);//payService.insertTossPayKeyin(payVO);
|
DataMap kiwoomPayMap = mapper.selectKiwoomPgApiLog(payVO);//payService.insertTossPayKeyin(payVO);
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle service kiwoomPayMap ::: {}", kiwoomPayMap);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(kiwoomPayMap)) {
|
if (!CollectionUtils.isEmpty(kiwoomPayMap)) {
|
||||||
String response = StringUtil.isNullToString(kiwoomPayMap.get("rsltParam"));
|
String response = StringUtil.isNullToString(kiwoomPayMap.get("rsltParam"));
|
||||||
|
log.info("insertKiwoomSetle service kiwoomPayMap_response ::: {}", response);
|
||||||
Map<String, Object> resultMap = new ObjectMapper().readValue(response, Map.class);
|
Map<String, Object> resultMap = new ObjectMapper().readValue(response, Map.class);
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(resultMap)) {
|
if (!CollectionUtils.isEmpty(resultMap)) {
|
||||||
@@ -5505,7 +5509,7 @@ public class BOOrdrService{
|
|||||||
orderPgLogVO.setConfmDt(selectDateFormat(StringUtil.isNullToString(resultMap.get("SETTDATE")))); // 승인일시
|
orderPgLogVO.setConfmDt(selectDateFormat(StringUtil.isNullToString(resultMap.get("SETTDATE")))); // 승인일시
|
||||||
orderPgLogVO.setApvlnb(StringUtil.isNullToString(resultMap.get("AUTHNO"))); //승인번호
|
orderPgLogVO.setApvlnb(StringUtil.isNullToString(resultMap.get("AUTHNO"))); //승인번호
|
||||||
orderPgLogVO.setCardCmpnyCd(StringUtil.isNullToString(resultMap.get("CARDCODE"))); //카드사코드
|
orderPgLogVO.setCardCmpnyCd(StringUtil.isNullToString(resultMap.get("CARDCODE"))); //카드사코드
|
||||||
orderPgLogVO.setCardCmpnyNm(StringUtil.isNullToString(bOMaComncdService.selectBOCommcdDetail("TOSS_CARD_CD",orderPgLogVO.getCardCmpnyCd()))); //카드사명
|
orderPgLogVO.setCardCmpnyNm(StringUtil.isNullToString(bOMaComncdService.selectBOCommcdDetail("KIWOOM_CARD_CD",orderPgLogVO.getCardCmpnyCd()))); //카드사명
|
||||||
orderPgLogVO.setNintrAt((boolean) resultMap.get("NOINTFLAG") ? "Y" : "N"); //무이자여부
|
orderPgLogVO.setNintrAt((boolean) resultMap.get("NOINTFLAG") ? "Y" : "N"); //무이자여부
|
||||||
orderPgLogVO.setInstlmtMtCnt(resultMap.get("INSTALL") != null ? Integer.parseInt(resultMap.get("INSTALL").toString()):0); //할부개월수
|
orderPgLogVO.setInstlmtMtCnt(resultMap.get("INSTALL") != null ? Integer.parseInt(resultMap.get("INSTALL").toString()):0); //할부개월수
|
||||||
|
|
||||||
@@ -5528,10 +5532,14 @@ public class BOOrdrService{
|
|||||||
orderSetleVO.setCredtcardApvlnb(orderPgLogVO.getApvlnb());
|
orderSetleVO.setCredtcardApvlnb(orderPgLogVO.getApvlnb());
|
||||||
orderSetleVO.setSetleTyCd(payVO.getSetleTyCd());
|
orderSetleVO.setSetleTyCd(payVO.getSetleTyCd());
|
||||||
//orderSetleVO.setSetleMid(StringUtil.isNullToString(mapper.selectBOSopSetleMidKeyInqire(payVO))); // 쇼핑몰 결제 MID(상점키) 조회
|
//orderSetleVO.setSetleMid(StringUtil.isNullToString(mapper.selectBOSopSetleMidKeyInqire(payVO))); // 쇼핑몰 결제 MID(상점키) 조회
|
||||||
orderSetleVO.setSetleMid("CFO20585"); //todo : paylink 관련 정리 후 db형으로 바꿈
|
orderSetleVO.setSetleMid("CTS18056"); //todo : paylink 관련 정리 후 db형으로 바꿈
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle service kiwoomPayMap_orderSetleVO ::: {}", orderSetleVO);
|
||||||
|
|
||||||
purchsMapper.updateOrderSetle(orderSetleVO);
|
purchsMapper.updateOrderSetle(orderSetleVO);
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle service kiwoomPayMap_orderSetleVO end::: ");
|
||||||
|
|
||||||
content.put("status", "0");
|
content.put("status", "0");
|
||||||
content.put("message", "키움 결제 정보 등록을 완료 하였습니다.");
|
content.put("message", "키움 결제 정보 등록을 완료 하였습니다.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import com.wb.domainserver.domain.gcone.ordr.ordr.service.BOOrdrService;
|
|||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOCrmDlvylcVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOOrdrVO;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO;
|
import com.wb.domainserver.domain.gcone.ordr.ordr.vo.BOSpbkVO;
|
||||||
|
import com.wb.domainserver.domain.gcone.ordr.pay.service.BOPayService;
|
||||||
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
import com.wb.domainserver.domain.gcone.ordr.pay.vo.BOPayVO;
|
||||||
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
import com.wb.domainserver.domain.gcone.promtn.coupon.service.BOCouponService;
|
||||||
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
|
import com.wb.domainserver.domain.gcone.setup.dlvygrp.service.BODlvygrpService;
|
||||||
@@ -133,6 +134,8 @@ public class OrdrController {
|
|||||||
private BOPurchsService boPurchsService;
|
private BOPurchsService boPurchsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BOSubsvcService subsvcService;
|
private BOSubsvcService subsvcService;
|
||||||
|
@Autowired
|
||||||
|
private BOPayService payService;
|
||||||
|
|
||||||
/* ####################################
|
/* ####################################
|
||||||
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
|
사용자 > 상품 > 구매/결제 > 회원구매하기 시작
|
||||||
@@ -1382,6 +1385,51 @@ public class OrdrController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 키움 결제 연계 전 getEnc 값 받아오기
|
||||||
|
* @return PayKiwoomSucsC.jsp
|
||||||
|
* @author 이경숙
|
||||||
|
*/
|
||||||
|
@Policy(AuthPolicy.RESTRICTED)
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping(value="/kiwoomPayGetEnc")
|
||||||
|
public Map<String, Object> selectKiwoomGetEnc(HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
BOPayVO payVO = new BOPayVO();
|
||||||
|
|
||||||
|
log.debug("kiwoomPayGetEnc = {}");
|
||||||
|
|
||||||
|
//String eucKrStr = new String(utf8Str.getBytes("UTF-8"), "EUC-KR");
|
||||||
|
//String utf8Str = new String(eucKrStr.getBytes("EUC-KR"), "UTF-8");
|
||||||
|
//request.setCharacterEncoding("EUC-KR");
|
||||||
|
|
||||||
|
payVO.setCpId(request.getParameter("CPID"));
|
||||||
|
payVO.setPayMethod(request.getParameter("PAYMETHOD"));
|
||||||
|
payVO.setOrderId(request.getParameter("ORDERNO"));
|
||||||
|
payVO.setType(request.getParameter("TYPE"));
|
||||||
|
payVO.setAmount(request.getParameter("AMOUNT"));
|
||||||
|
|
||||||
|
Map<String, Object> message;
|
||||||
|
String sopmalCd = payVO.getSopmalCd();
|
||||||
|
try {
|
||||||
|
message = payService.insertKiwoomPay(payVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
message = new HashMap<>() {{
|
||||||
|
put("response", "결제를 실패하였습니다.\n관리자에게 문의하시기 바랍니다.");
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
log.info("insertKiwoomPay step5 ::: {}", message.get("KIWOOM_ENC"));
|
||||||
|
|
||||||
|
//model.addAttribute("message", message);
|
||||||
|
//return "sopmal/ordr/PayKiwoomSucsC";
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 키움 결제 정보 등록
|
* 사용자 > 상품 > 구매/결제 > 회원구매하기 > 키움 결제 정보 등록
|
||||||
* @param model
|
* @param model
|
||||||
@@ -1403,6 +1451,8 @@ public class OrdrController {
|
|||||||
payVO.setSetleTyCd(request.getParameter("setleTyCd"));
|
payVO.setSetleTyCd(request.getParameter("setleTyCd"));
|
||||||
payVO.setSetlerNm(request.getParameter("ordrrNm"));
|
payVO.setSetlerNm(request.getParameter("ordrrNm"));
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle controller payVO ::: {}", payVO);
|
||||||
|
|
||||||
String agentId = "";
|
String agentId = "";
|
||||||
String jSesionId = "";
|
String jSesionId = "";
|
||||||
String ipAdres = "";
|
String ipAdres = "";
|
||||||
@@ -1443,6 +1493,9 @@ public class OrdrController {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
content = service.insertKiwoomSetle(payVO);
|
content = service.insertKiwoomSetle(payVO);
|
||||||
|
|
||||||
|
log.info("insertKiwoomSetle controller content ::: {}", content);
|
||||||
|
|
||||||
} catch (WnbtRestException wre) {
|
} catch (WnbtRestException wre) {
|
||||||
log.info("insertKiwoomSetle : 키움 결제 정보 등록 : 실패 WnbtRestException");
|
log.info("insertKiwoomSetle : 키움 결제 정보 등록 : 실패 WnbtRestException");
|
||||||
log.error(wre.getMessage(), wre);
|
log.error(wre.getMessage(), wre);
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
const gcpayCardUseAt = $('#gcpayCardUseAt').val();
|
const gcpayCardUseAt = $('#gcpayCardUseAt').val();
|
||||||
let gcpayAt = ( gcpayCardUseAt === 'Y')? 'Y' : 'N';
|
let gcpayAt = ( gcpayCardUseAt === 'Y')? 'Y' : 'N';
|
||||||
const setleTy = $('#setleSetupTyCd').val();
|
const setleTy = $('#setleSetupTyCd').val();
|
||||||
const setleTyCd = '#pg04';
|
let setleTyCd = '#pg04';
|
||||||
if(setleTy==='01')setleTyCd = '#pg04'; //kcp
|
if(setleTy==='01')setleTyCd = '#pg04'; //kcp
|
||||||
else if(setleTy==='02')setleTyCd = '#pg03'; //toss
|
else if(setleTy==='02')setleTyCd = '#pg03'; //toss
|
||||||
else if(setleTy==='03')setleTyCd = '#pg06'; //kiwoom
|
else if(setleTy==='03')setleTyCd = '#pg06'; //kiwoom
|
||||||
@@ -537,7 +537,7 @@
|
|||||||
$('.order-method-normal__btn').removeClass('active');
|
$('.order-method-normal__btn').removeClass('active');
|
||||||
$(form).find('#pgCmpnyNm').val(pgCmpnyNm);
|
$(form).find('#pgCmpnyNm').val(pgCmpnyNm);
|
||||||
|
|
||||||
if ('pg01' === id || 'pg02' === id) {
|
if ('pg01' === id || 'pg02' === id) { //GC페이
|
||||||
if ('pg02' === id) {
|
if ('pg02' === id) {
|
||||||
$('#gc-pay-bank-cash-receipt').prop('checked', true).trigger("click");
|
$('#gc-pay-bank-cash-receipt').prop('checked', true).trigger("click");
|
||||||
|
|
||||||
@@ -557,7 +557,7 @@
|
|||||||
$(form).find('#setleTyCd').val('pg01' === id ? '01' : '03');
|
$(form).find('#setleTyCd').val('pg01' === id ? '01' : '03');
|
||||||
|
|
||||||
$('.bankSlideW, .cardSlideW').slick('setPosition');
|
$('.bankSlideW, .cardSlideW').slick('setPosition');
|
||||||
} else if('pg05' === id){
|
} else if('pg05' === id){ //퀵계좌이체
|
||||||
$('#transfer-cash-receipt').prop('checked', true).trigger("click");
|
$('#transfer-cash-receipt').prop('checked', true).trigger("click");
|
||||||
|
|
||||||
$(form).find('#transfer-cash-receipt').on('click', function () {
|
$(form).find('#transfer-cash-receipt').on('click', function () {
|
||||||
@@ -2998,7 +2998,7 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('kcp' === pgCmpnyNm || 'toss' === pgCmpnyNm) {
|
if ('kcp' === pgCmpnyNm || 'toss' === pgCmpnyNm || 'kiwoom' === pgCmpnyNm) {
|
||||||
const div = $('#setleForm').find('.order-method-normal');
|
const div = $('#setleForm').find('.order-method-normal');
|
||||||
|
|
||||||
if (!$(div).find('.order-method-normal__btn-container button').hasClass('active')) {
|
if (!$(div).find('.order-method-normal__btn-container button').hasClass('active')) {
|
||||||
@@ -3093,7 +3093,7 @@
|
|||||||
|
|
||||||
$('#setleForm').find('#pgCmpnyNm').val(pgCmpnyNm);
|
$('#setleForm').find('#pgCmpnyNm').val(pgCmpnyNm);
|
||||||
$('#setleForm').find('#setleTyCd').val(setleTyCd);
|
$('#setleForm').find('#setleTyCd').val(setleTyCd);
|
||||||
} else {
|
} else { //gc페이
|
||||||
if ('01' === setleTyCd) { // 카드
|
if ('01' === setleTyCd) { // 카드
|
||||||
const index = $('.cardSlideW').slick('slickCurrentSlide');
|
const index = $('.cardSlideW').slick('slickCurrentSlide');
|
||||||
const curCardId = $('#gcCardId' + index).val();
|
const curCardId = $('#gcCardId' + index).val();
|
||||||
@@ -4660,7 +4660,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
</c:if>
|
||||||
<%-- kcp 결제 종료 --%>
|
<%-- 키움 결제 종료 --%>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -30,6 +30,8 @@
|
|||||||
<script type="text/javascript" language="javascript">
|
<script type="text/javascript" language="javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
var pf = document.payForm;
|
||||||
|
|
||||||
const orderForm = $('#order_info');
|
const orderForm = $('#order_info');
|
||||||
const setleTyCd = orderForm.find('.setleTyCd').val();
|
const setleTyCd = orderForm.find('.setleTyCd').val();
|
||||||
const setleAmt = orderForm.find('.setleAmt').val();
|
const setleAmt = orderForm.find('.setleAmt').val();
|
||||||
@@ -63,7 +65,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
var pf;
|
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
pf = document.payForm;
|
pf = document.payForm;
|
||||||
@@ -80,7 +82,7 @@
|
|||||||
var TYPE = pf.TYPE.value;
|
var TYPE = pf.TYPE.value;
|
||||||
var AMOUNT = pf.AMOUNT.value;
|
var AMOUNT = pf.AMOUNT.value;
|
||||||
|
|
||||||
const url = '<c:url value="/sopmal/pay/kiwoomPayGetEnc"/>';
|
const url = '<c:url value="/sopmal/ordr/kiwoomPayGetEnc"/>';
|
||||||
|
|
||||||
// AJAX로 kiwoom_ENC 값 요청
|
// AJAX로 kiwoom_ENC 값 요청
|
||||||
$.ajax({
|
$.ajax({
|
||||||
@@ -187,11 +189,11 @@
|
|||||||
<input type="hidden" name="KIWOOM_ENC" value=""/> <!-- 보안 기능 -->
|
<input type="hidden" name="KIWOOM_ENC" value=""/> <!-- 보안 기능 -->
|
||||||
|
|
||||||
<input type="hidden" name="TYPE" value="P"/> <!-- 결제방식(P:PC/M:모바일/W:웹뷰) -->
|
<input type="hidden" name="TYPE" value="P"/> <!-- 결제방식(P:PC/M:모바일/W:웹뷰) -->
|
||||||
<input type="hidden" name="CPID" value="CFO20585"/> <!-- 상점아이디 CFO20585,CFO20586-->
|
<input type="hidden" name="CPID" value="CTS18056"/> <!-- 상점아이디 개발:CTS18056 / 운영:CFO20585,CFO20586-->
|
||||||
<input type="hidden" name="PAYMETHOD" value="CARD"/> <!-- 결제수단 (CARD:카드/NAVERPAY:네이버페이)-->
|
<input type="hidden" name="PAYMETHOD" value="CARD"/> <!-- 결제수단 (CARD:카드/NAVERPAY:네이버페이)-->
|
||||||
|
|
||||||
<input type="hidden" name="ORDERNO" value="${data.setle.ordrInnb}"/> <!-- 주문번호 -->
|
<input type="hidden" name="ORDERNO" value="${data.setle.ordrInnb}"/> <!-- 주문번호 -->
|
||||||
<input type="hidden" name="AMOUNT" value="${data.setle.setleAmt}" /><!-- 결제금액 -->
|
<input type="hidden" name="AMOUNT" value="${data.setle.wonSetleAmt}" /><!-- 결제금액 -->
|
||||||
<input type="hidden" name="PRODUCTNAME" value="${data.setle.goodsNm}" /><!-- 상품명 -->
|
<input type="hidden" name="PRODUCTNAME" value="${data.setle.goodsNm}" /><!-- 상품명 -->
|
||||||
<input type="hidden" name="USERID" value="${data.ordr.mbrId}" /> <!-- 고객 ID -->
|
<input type="hidden" name="USERID" value="${data.ordr.mbrId}" /> <!-- 고객 ID -->
|
||||||
<input type="hidden" name="HOMEURL" value="" /> <!-- 결제 성공 후, 이동할 URL(결제 창에서 이동) -->
|
<input type="hidden" name="HOMEURL" value="" /> <!-- 결제 성공 후, 이동할 URL(결제 창에서 이동) -->
|
||||||
|
|||||||
Reference in New Issue
Block a user