Ver Fonte

이태영 - 20210304 임시커밋

xodud1202 há 5 anos atrás
pai
commit
ce66ff8b5e

+ 26 - 33
src/main/java/com/style24/core/biz/service/TscKcpService.java

@@ -26,8 +26,7 @@ public class TscKcpService {
 		return  val;
 	}
 
-	public GagaMap kcpPayRequest(Payment param, HttpServletRequest request, HttpServletResponse response) throws Exception {
-		GagaMap result = new GagaMap();
+	public Payment kcpPayRequest(Payment param, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		// PC pay_method
 		/* = 신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000                     = */
 		/* = 포인트   : 000100000000, 휴대폰   : 000010000000, 상품권   : 000000001000, ARS : 000000000010 = */
@@ -73,46 +72,40 @@ public class TscKcpService {
 		// 06. 승인 결과 값 추출
 		if ("pay".equals(param.getReqTx())) {
 			if ("0000".equals(param.getResCd())) {
-				param.setTno(c_PayPlus.mf_get_res("tno"));                // KCP 거래 고유 번호
-				param.setPntIssue(c_PayPlus.mf_get_res("pnt_issue"));    // 결제 포인트사 코드
-				param.setAmount(c_PayPlus.mf_get_res("amount").isEmpty() ? 0 : Integer.parseInt(c_PayPlus.mf_get_res("amount")));                // KCP 실제 거래 금액
-				param.setCouponMny(c_PayPlus.mf_get_res("coupon_mny").isEmpty() ? 0 : Integer.parseInt(c_PayPlus.mf_get_res("coupon_mny")));    // 쿠폰금액
+				param.setPgTid(c_PayPlus.mf_get_res("tno"));							// KCP 거래 고유 번호
+				//param.setPntIssue(c_PayPlus.mf_get_res("pnt_issue"));					// 결제 포인트사 코드
+				param.setPayAmt(Integer.parseInt(c_PayPlus.mf_get_res("amount")));	// KCP 실제 거래 금액
+				param.setPgCpnAmt(c_PayPlus.mf_get_res("coupon_mny").isEmpty() ? 0 : Integer.parseInt(c_PayPlus.mf_get_res("coupon_mny")));    // 쿠폰 할인금액
 
 				/* = -------------------------------------------------------------------------- = */
 				/* =   06-1. 신용카드 승인 결과 처리                                            = */
 				/* = -------------------------------------------------------------------------- = */
 				if ("100000000000".equals(param.getUsePayMethod())) {
-					/*card_cd = c_PayPlus.mf_get_res("card_cd"); // 카드사 코드
-					card_name = c_PayPlus.mf_get_res("card_name"); // 카드사 명
-					app_time = c_PayPlus.mf_get_res("app_time"); // 승인시간
-					app_no = c_PayPlus.mf_get_res("app_no"); // 승인번호
-					noinf = c_PayPlus.mf_get_res("noinf"); // 무이자 여부
-					quota = c_PayPlus.mf_get_res("quota"); // 할부 개월 수
-					partcanc_yn = c_PayPlus.mf_get_res("partcanc_yn"); // 부분취소 가능유무
-					card_bin_type_01 = c_PayPlus.mf_get_res("card_bin_type_01"); // 카드구분1
-					card_bin_type_02 = c_PayPlus.mf_get_res("card_bin_type_02"); // 카드구분2
-					card_mny = c_PayPlus.mf_get_res("card_mny"); // 카드결제금액*/
-
-					/* = -------------------------------------------------------------- = */
-					/* =   06-1.1. 복합결제(포인트+신용카드) 승인 결과 처리             = */
-					/* = -------------------------------------------------------------- = */
-					/*if (pnt_issue.equals("SCSK") || pnt_issue.equals("SCWB")) {
-						pnt_amount = c_PayPlus.mf_get_res("pnt_amount"); // 적립금액 or 사용금액
-						pnt_app_time = c_PayPlus.mf_get_res("pnt_app_time"); // 승인시간
-						pnt_app_no = c_PayPlus.mf_get_res("pnt_app_no"); // 승인번호
-						add_pnt = c_PayPlus.mf_get_res("add_pnt"); // 발생 포인트
-						use_pnt = c_PayPlus.mf_get_res("use_pnt"); // 사용가능 포인트
-						rsv_pnt = c_PayPlus.mf_get_res("rsv_pnt"); // 총 누적 포인트
-						total_amount = amount + pnt_amount;                    // 복합결제시 총 거래금액
-					}*/
+					param.setCardKind(c_PayPlus.mf_get_res("card_cd"));			// 카드종류. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값 ??      card_cd: 카드 발급사 코드
+					param.setCardBank(c_PayPlus.mf_get_res("card_cd"));			// 카드발급은행. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값 ??  card_cd: 카드 발급사 코드
+					param.setCardNm(c_PayPlus.mf_get_res("card_name"));			// 카드명. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값           card_name: 결제건의 발급 사 명
+					log.info("CHECK c_PayPlus.mf_get_res(\"app_time\") :::: {}", c_PayPlus.mf_get_res("app_time"));
+					param.setPayDt(c_PayPlus.mf_get_res("app_time"));
+					param.setPgTradeNo(c_PayPlus.mf_get_res("app_no"));			// PG거래번호(승인번호)
+					param.setCardMips(c_PayPlus.mf_get_res("quota"));			// 할부개월수
+					//noinf = c_PayPlus.mf_get_res("noinf"); // 무이자 여부
+					param.setCardPcableYn(c_PayPlus.mf_get_res("partcanc_yn"));	// 부분취소 가능유무
+					if("0".equals(c_PayPlus.mf_get_res("card_bin_type_02"))) {	// 결제건의 카드 구분 정보 (일반 : 0, 체크 : 1)
+						param.setCardType("N");	// 신용카드
+					} else {
+						param.setCardType("Y");	// 체크카드, 기프트카드(G)는 어떻게 알아봐야하는지 확인 ?
+					}
 				}
+			} else {
+				throw new IllegalArgumentException("결제 실패하였습니다.");
 			}
+		} else {
+			// PAY가 아닐 경우 ?? 다른 메서드로 진행할지 확인 후 Exception 처리할건지 취소가 진행될건지 소스 진행
+			int a = 1;
 		}
 
-				/* = -------------------------------------------------------------------------- = */
-				/* =   06-2. 계좌이체 승인 결과 처리                                            = */
-				/* = -------------------------------------------------------------------------- = */
 
-		return result;
+
+		return param;
 	}
 }

+ 2 - 2
src/main/java/com/style24/persistence/domain/Payment.java

@@ -35,8 +35,8 @@ public class Payment extends TscBaseDomain {
 	private String cardType;		// PG 카드 유형 (Y:체크카드, N:신용카드, G:기프트카드) 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
 	private String cardKind;		// 카드종류. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
 	private String cardBank;		// 카드발급은행. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
-	private String cartNm;			// 카드명. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
-	private String cartMips;		// 카드할부개월수. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
+	private String cardNm;			// 카드명. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
+	private String cardMips;		// 카드할부개월수. 결제수단이 "30:신용카드"일 때 사용. PG사에서 받은 값
 	private String cardPcableYn;	// 부분취소가능여부
 	private String vaNo;			// 가상계좌번호. 결제수단이 "20:무통장입금일" 때 사용
 	private String vaNm;			// 가상계좌예금주명. 결제수단이 "20:무통장입금일" 때 사용