KakaoPayServiceImpl.java > SPRING1

본문 바로가기
사이트 내 전체검색

SPRING1

KakaoPayServiceImpl.java

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 91회 작성일 24-08-06 15:19

본문

package com.pkt.service;


import org.springframework.http.HttpEntity;

import org.springframework.http.HttpHeaders;

import org.springframework.stereotype.Service;

import org.springframework.util.LinkedMultiValueMap;

import org.springframework.util.MultiValueMap;

import org.springframework.web.client.RestTemplate;


import com.pkt.model.ApproveResponse;

import com.pkt.model.ReadyResponse;


import lombok.extern.log4j.Log4j;


@Service

@Log4j

public class KakaoPayServiceImpl {


public ReadyResponse payReady(String itemName, int quantity, String mem_id, int totalAmount) {


String order_id = "100"; //가맹점 주문번호


MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();


//테스트 가맹점 코드 : TC0ONETIME

parameters.add("cid", "TC0ONETIME"); //가맹점 코드 10자리(테스트 코드 적용)

parameters.add("partner_order_id", order_id); //가맹점 주문번호

parameters.add("partner_user_id", mem_id); //가맹점 회원 아이디

parameters.add("item_name", itemName); //상품명

parameters.add("quantity", String.valueOf(quantity)); //수량

parameters.add("total_amount", String.valueOf(totalAmount)); //총 주문금액

parameters.add("tax_free_amount", "0"); //비과세

parameters.add("approval_url", "http://localhost:8080/order/orderApp"); //결제 성공

parameters.add("cancel_url", "http://localhost:8080/order/orderCancel"); //결제 취소

parameters.add("fail_url", "http://localhost:8080/order/orderFail"); //결제 실패


HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(parameters, this.getHeaders());


//외부 API 통신

RestTemplate template = new RestTemplate();


String url = "https://kapi.kakao.com/v1/payment/ready";


ReadyResponse readyResponse = template.postForObject(url, requestEntity, ReadyResponse.class);


return readyResponse;

}


public ApproveResponse payApprove(String tid, String pgToken, String mem_id) {


String order_id = "100"; //가맹점 주문번호


MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();


parameters.add("cid", "TC0ONETIME"); //가맹점 코드 10자리(테스트 코드 적용)

parameters.add("tid", tid); //결제 고유번호

parameters.add("partner_order_id", order_id); //가맹점 주문번호

parameters.add("partner_user_id", mem_id); //가맹점 회원 아이디

parameters.add("pg_token", pgToken);


HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(parameters, this.getHeaders());


//외부 API 통신

RestTemplate template = new RestTemplate();


String url = "https://kapi.kakao.com/v1/payment/approve";


ApproveResponse approveResponse = template.postForObject(url, requestEntity, ApproveResponse.class);


return approveResponse;

}


private HttpHeaders getHeaders() {


HttpHeaders headers = new HttpHeaders();


headers.set("Authorization", "KakaoAK bef625342ecaa0dc35e1ce77e20....."); //카카오 앱 : Admin Key 값

headers.set("Content-type", "application/x-www-form-urlencoded;charset=utf-8");


return headers;

}

}

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
349
어제
181
최대
10,760
전체
284,261
Copyright © dancePKT . All rights reserved.