Bläddra i källkod

카카오페이 임시 커밋

card007 5 år sedan
förälder
incheckning
e6b7b5d271

+ 24 - 2
src/main/java/com/style24/core/biz/service/TscKakaoPayService.java

@@ -21,6 +21,7 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.style24.core.biz.dao.TscPointDao;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Payment;
 import com.style24.persistence.domain.Point;
 
 import lombok.extern.slf4j.Slf4j;
@@ -102,7 +103,7 @@ public class TscKakaoPayService {
 	 * @since 2021. 03. 04
 	 */
 	@Transactional("shopTxnManager")
-	public GagaMap approveKakaoPayment(Order order) {
+	public Payment approveKakaoPayment(Order order) {
 		GagaMap map = new GagaMap();
 		String approvePaymentUrl = env.getProperty("kakao.approvePaymentUrl");
 		try {
@@ -135,7 +136,28 @@ public class TscKakaoPayService {
 			log.error(e.getMessage());
 		}
 
-		return map;
+		Payment payment = new Payment();
+		payment.setPgTradeNo(map.getString("aid"));
+		payment.setPgTid(map.getString("tid"));
+		payment.setPgShopId(map.getString("cid"));
+		payment.setOrdNo(Integer.parseInt(map.getString("partner_order_id")));
+		payment.setCustNo(Integer.parseInt(map.getString("partner_user_id")));
+		payment.setKakaoMethodType(map.getString("payment_method_type"));
+		
+		GagaMap amount = (GagaMap) map.get("amount");
+		payment.setPayAmt(Integer.parseInt(amount.getString("total")));
+		payment.setKakaoPoint(Integer.parseInt(amount.getString("point")));
+		payment.setKakaoDiscount(Integer.parseInt(amount.getString("discount")));
+
+		if ("CARD".equals(map.getString("payment_method_type"))) {
+			GagaMap cardInfo = (GagaMap) map.get("card_info");
+			payment.setCardKind(cardInfo.getString("purchase_corp"));
+			payment.setCardNm(cardInfo.getString("issuer_corp"));
+			payment.setCardType("신용".equals(cardInfo.getString("card_type")) ? "N" : "Y");
+			payment.setCardMips(cardInfo.getString("install_month"));
+		}
+
+		return payment;
 	}
 	
 }

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

@@ -44,6 +44,7 @@ public class Payment extends TscBaseDomain {
 	private String vaDeadline;		// 무통장입금마감일시. 결제수단이 "20:무통장입금일" 때 사용
 	private String telecom;			// 통신사.결제수단이 휴대폰결제인경우만 사용
 	private String escrowYn;		// 에스크로 여부
+	private int custNo;				// 고객번호
 
 	// KCP
 	private int shopUserId;			// 쇼핑몰 회원 ID (CUST_NO)
@@ -81,5 +82,9 @@ public class Payment extends TscBaseDomain {
 	private String cashIdInfo;
 	
 	// KAKAOPAY
-	private String aid;
+	private String kakaoMethodType;	// 결제 수단, CARD 또는 MONEY 중 하나
+	private int kakaoPoint;			// 사용한 포인트 금액
+	private int kakaoDiscount;		// 할인 금액
+	private String createDt;		// 결제 준비 요청 시각
+	private String approveDt;		// 결제 승인 시각
 }