|
@@ -64,9 +64,9 @@ public class TscKakaoPayService {
|
|
|
params.add("quantity", order.getOrdQty()+"");
|
|
params.add("quantity", order.getOrdQty()+"");
|
|
|
params.add("total_amount", order.getRealOrdAmt()+"");
|
|
params.add("total_amount", order.getRealOrdAmt()+"");
|
|
|
params.add("tax_free_amount", "0");
|
|
params.add("tax_free_amount", "0");
|
|
|
- params.add("approval_url", PROTOCOL + env.getProperty("domain.front"));
|
|
|
|
|
- params.add("fail_url", PROTOCOL + env.getProperty("domain.front"));
|
|
|
|
|
- params.add("cancel_url", PROTOCOL + env.getProperty("domain.front"));
|
|
|
|
|
|
|
+ params.add("approval_url", order.getApprovalUrl());
|
|
|
|
|
+ params.add("fail_url", order.getFailUrl());
|
|
|
|
|
+ params.add("cancel_url", order.getCancelUrl());
|
|
|
|
|
|
|
|
// Header
|
|
// Header
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
HttpHeaders headers = new HttpHeaders();
|
|
@@ -92,5 +92,50 @@ public class TscKakaoPayService {
|
|
|
|
|
|
|
|
return map;
|
|
return map;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 카카오페이 승인 처리
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param Order
|
|
|
|
|
+ * @return GagaMap
|
|
|
|
|
+ * @author card007
|
|
|
|
|
+ * @since 2021. 03. 04
|
|
|
|
|
+ */
|
|
|
|
|
+ @Transactional("shopTxnManager")
|
|
|
|
|
+ public GagaMap approveKakaoPayment(Order order) {
|
|
|
|
|
+ GagaMap map = new GagaMap();
|
|
|
|
|
+ String approvePaymentUrl = env.getProperty("kakao.approvePaymentUrl");
|
|
|
|
|
+ try {
|
|
|
|
|
+ MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
|
|
|
|
|
+ params.add("cid", env.getProperty("kakao.cid"));
|
|
|
|
|
+ params.add("tid", order.getPgTid());
|
|
|
|
|
+ params.add("partner_order_id", order.getOrdNo()+"");
|
|
|
|
|
+ params.add("partner_user_id", order.getCustNo()+"");
|
|
|
|
|
+ params.add("pg_token", order.getPgToken());
|
|
|
|
|
+
|
|
|
|
|
+ // Header
|
|
|
|
|
+ HttpHeaders headers = new HttpHeaders();
|
|
|
|
|
+ headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
|
|
|
|
|
+ headers.set("Authorization", "KakaoAK " + env.getProperty("kakao.adminKey"));
|
|
|
|
|
+
|
|
|
|
|
+ HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);
|
|
|
|
|
+ URI url = URI.create(approvePaymentUrl);
|
|
|
|
|
+
|
|
|
|
|
+ // POST방식으로 호출
|
|
|
|
|
+ ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
|
|
|
|
|
+ log.info("responseEntity.getStatusCode(): {} ", responseEntity.getStatusCode());
|
|
|
|
|
+
|
|
|
|
|
+ String jsonResult = responseEntity.getBody();
|
|
|
|
|
+ log.info("responseEntity.getBody(): {} ", jsonResult);
|
|
|
|
|
+
|
|
|
|
|
+ Gson gson = new GsonBuilder().create();
|
|
|
|
|
+ map = gson.fromJson(jsonResult, GagaMap.class); //access_token, refresh_token
|
|
|
|
|
+
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error(e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return map;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
}
|
|
}
|