|
|
@@ -29,9 +29,8 @@ public class TscKcpService {
|
|
|
public GagaMap kcpPayRequest(Payment param, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
GagaMap result = new GagaMap();
|
|
|
// PC pay_method
|
|
|
- /* = 신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000 = */
|
|
|
- /* = 포인트 : 000100000000, 휴대폰 : 000010000000, 상품권 : 000000001000 = */
|
|
|
- /* = ARS : 000000000010 = */
|
|
|
+ /* = 신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000 = */
|
|
|
+ /* = 포인트 : 000100000000, 휴대폰 : 000010000000, 상품권 : 000000001000, ARS : 000000000010 = */
|
|
|
|
|
|
// 01. characterEncoding EUC-KR 세팅
|
|
|
request.setCharacterEncoding("euc-kr");
|
|
|
@@ -44,7 +43,7 @@ public class TscKcpService {
|
|
|
// 02. 지불 요청 정보 설정
|
|
|
param.setReqTx(request.getParameter("req_tx"));
|
|
|
param.setTranCd(request.getParameter("tran_cd"));
|
|
|
- param.setOrdrIdxx(request.getParameter("ordr_idxx"));
|
|
|
+ param.setOrdrIdxx(Integer.parseInt(request.getParameter("ordr_idxx")));
|
|
|
|
|
|
// 03. 인스턴스 생성 및 초기화(변경 불가) (결제에 필요한 인스턴스를 생성하고 초기화 합니다.)
|
|
|
J_PP_CLI_N c_PayPlus = new J_PP_CLI_N();
|
|
|
@@ -62,7 +61,7 @@ public class TscKcpService {
|
|
|
|
|
|
// 05. 실행
|
|
|
if (param.getTranCd().length() > 0) {
|
|
|
- c_PayPlus.mf_do_tx(env.getProperty("pg.kcp.site.cd"), env.getProperty("pg.kcp.site.key"), param.getTranCd(), "", param.getOrdrIdxx(), env.getProperty("pg.kcp.log.level"), "0");
|
|
|
+ c_PayPlus.mf_do_tx(env.getProperty("pg.kcp.site.cd"), env.getProperty("pg.kcp.site.key"), param.getTranCd(), "", param.getOrdrIdxx() + "", env.getProperty("pg.kcp.log.level"), "0");
|
|
|
} else {
|
|
|
c_PayPlus.m_res_cd = "9562";
|
|
|
c_PayPlus.m_res_msg = "연동 오류|tran_cd값이 설정되지 않았습니다.";
|
|
|
@@ -71,7 +70,48 @@ public class TscKcpService {
|
|
|
param.setResCd(c_PayPlus.m_res_cd); // 결과 코드
|
|
|
param.setResMsg(c_PayPlus.m_res_msg); // 결과 메시지
|
|
|
|
|
|
- log.info("CHECK RESULT >> " + param.toString());
|
|
|
+ // 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"))); // 쿠폰금액
|
|
|
+
|
|
|
+ /* = -------------------------------------------------------------------------- = */
|
|
|
+ /* = 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; // 복합결제시 총 거래금액
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /* = -------------------------------------------------------------------------- = */
|
|
|
+ /* = 06-2. 계좌이체 승인 결과 처리 = */
|
|
|
+ /* = -------------------------------------------------------------------------- = */
|
|
|
|
|
|
return result;
|
|
|
}
|