516 lines
19 KiB
Java
516 lines
19 KiB
Java
package itn.com.cmm.util;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStreamReader;
|
|
import java.io.PrintWriter;
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.security.MessageDigest;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import org.apache.commons.codec.binary.Hex;
|
|
import org.json.simple.JSONObject;
|
|
import org.json.simple.parser.JSONParser;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
|
import itn.com.cmm.LoginVO;
|
|
import itn.com.cmm.util.MJUtil;
|
|
import itn.com.utl.fcc.service.EgovStringUtil;
|
|
import itn.let.mjo.event.service.MjonEventVO;
|
|
import itn.let.mjo.event.service.impl.MjonEventDAO;
|
|
import itn.let.mjo.msgdata.service.MjonMsgDataService;
|
|
import itn.let.mjo.pay.service.MjonPayVO;
|
|
import itn.let.mjo.pay.service.impl.MjonPayDAO;
|
|
import itn.let.mjo.tax.service.TaxVO;
|
|
import itn.let.mjo.tax.service.impl.TaxDAO;
|
|
import itn.let.sym.site.service.JoinSettingVO;
|
|
import itn.let.uat.uia.service.impl.MberManageDAO;
|
|
import itn.let.uss.umt.service.MberManageVO;
|
|
|
|
@Component("nicePayUtil")
|
|
public class NicePayUtil {
|
|
|
|
@Resource(name = "egovMjonCashIdGnrService")
|
|
private EgovIdGnrService idgenMjonCashId;
|
|
|
|
@Resource(name = "egovMjonPointIdGnrService")
|
|
private EgovIdGnrService idgenMjonPointId;
|
|
|
|
@Resource(name = "MjonMsgDataService")
|
|
private MjonMsgDataService mjonMsgDataService;
|
|
|
|
/**
|
|
* @param mjonPayVO
|
|
* @param request
|
|
* @return
|
|
* @throws Exception
|
|
* //nicepay 정상 결제 여부 확인
|
|
*/
|
|
public boolean pgAuth(MjonPayVO mjonPayVO , HttpServletRequest request) throws Exception {
|
|
|
|
//Pg 결제 정상여부 체크
|
|
boolean paySuccess = false;
|
|
|
|
/*
|
|
****************************************************************************************
|
|
* <인증 결과 파라미터>
|
|
****************************************************************************************
|
|
*/
|
|
String authResultCode = (String)request.getParameter("AuthResultCode"); // 인증결과 : 0000(성공)
|
|
String authResultMsg = (String)request.getParameter("AuthResultMsg"); // 인증결과 메시지
|
|
String nextAppURL = (String)request.getParameter("NextAppURL"); // 승인 요청 URL
|
|
String txTid = (String)request.getParameter("TxTid"); // 거래 ID
|
|
String authToken = (String)request.getParameter("AuthToken"); // 인증 TOKEN
|
|
String payMethod = (String)request.getParameter("PayMethod"); // 결제수단
|
|
String mid = (String)request.getParameter("MID"); // 상점 아이디
|
|
String moid = (String)request.getParameter("Moid"); // 상점 주문번호
|
|
String amt = (String)request.getParameter("Amt"); // 결제 금액
|
|
String reqReserved = (String)request.getParameter("ReqReserved"); // 상점 예약필드
|
|
String netCancelURL = (String)request.getParameter("NetCancelURL"); // 망취소 요청 URL
|
|
/*
|
|
****************************************************************************************
|
|
* <승인 결과 파라미터 정의>
|
|
* 샘플페이지에서는 승인 결과 파라미터 중 일부만 예시되어 있으며,
|
|
* 추가적으로 사용하실 파라미터는 연동메뉴얼을 참고하세요.
|
|
****************************************************************************************
|
|
*/
|
|
String ResultCode = ""; String ResultMsg = ""; String PayMethod = "";
|
|
String GoodsName = ""; String Amt = ""; String TID = "";
|
|
String cardCode = ""; // 결제카드사코드
|
|
String cardName = ""; // 결제카드사명
|
|
String bankCode = ""; // 결제은행코드
|
|
String bankName = ""; // 결제은행명
|
|
|
|
/*
|
|
****************************************************************************************
|
|
* <인증 결과 성공시 승인 진행>
|
|
****************************************************************************************
|
|
*/
|
|
|
|
String resultJsonStr = "";
|
|
if(authResultCode.equals("0000")){
|
|
/*
|
|
****************************************************************************************
|
|
* <해쉬암호화> (수정하지 마세요)
|
|
* SHA-256 해쉬암호화는 거래 위변조를 막기위한 방법입니다.
|
|
****************************************************************************************
|
|
*/
|
|
DataEncrypt sha256Enc = new DataEncrypt();
|
|
String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // 운영상점키
|
|
//String merchantKey = "EYzu8jGGMfqaDEp76gSckuvnaHHu+bC4opsSN6lHv3b2lurNYkVXrZ7Z1AoqQnXI3eLuaUFyoRNC6FkrzVjceg=="; // 테스트 상점키
|
|
String ediDate = getyyyyMMddHHmmss();
|
|
String signData = sha256Enc.encrypt(authToken + mid + amt + ediDate + merchantKey);
|
|
|
|
/*
|
|
****************************************************************************************
|
|
* <승인 요청>
|
|
* 승인에 필요한 데이터 생성 후 server to server 통신을 통해 승인 처리 합니다.
|
|
****************************************************************************************
|
|
*/
|
|
StringBuffer requestData = new StringBuffer();
|
|
requestData.append("TID=").append(txTid).append("&");
|
|
requestData.append("AuthToken=").append(authToken).append("&");
|
|
requestData.append("MID=").append(mid).append("&");
|
|
requestData.append("Amt=").append(amt).append("&");
|
|
requestData.append("EdiDate=").append(ediDate).append("&");
|
|
requestData.append("SignData=").append(signData);
|
|
|
|
try {
|
|
resultJsonStr = connectToServer(requestData.toString(), nextAppURL);
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
|
|
HashMap resultData = new HashMap();
|
|
|
|
if("9999".equals(resultJsonStr)){
|
|
/*
|
|
*************************************************************************************
|
|
* <망취소 요청>
|
|
* 승인 통신중에 Exception 발생시 망취소 처리를 권고합니다.
|
|
*************************************************************************************
|
|
*/
|
|
StringBuffer netCancelData = new StringBuffer();
|
|
requestData.append("&").append("NetCancel=").append("1");
|
|
String cancelResultJsonStr = connectToServer(requestData.toString(), netCancelURL);
|
|
|
|
HashMap cancelResultData = jsonStringToHashMap(cancelResultJsonStr);
|
|
ResultCode = (String)cancelResultData.get("ResultCode");
|
|
ResultMsg = (String)cancelResultData.get("ResultMsg");
|
|
}else{
|
|
resultData = jsonStringToHashMap(resultJsonStr);
|
|
ResultCode = (String)resultData.get("ResultCode"); // 결과코드 (정상 결과코드:3001)
|
|
ResultMsg = (String)resultData.get("ResultMsg"); // 결과메시지
|
|
PayMethod = (String)resultData.get("PayMethod"); // 결제수단
|
|
GoodsName = (String)resultData.get("GoodsName"); // 상품명
|
|
Amt = (String)resultData.get("Amt"); // 결제 금액
|
|
TID = (String)resultData.get("TID"); // 거래번호
|
|
cardCode = (String)resultData.get("CardCode"); // 결제카드사코드
|
|
cardName = (String)resultData.get("CardName"); // 결제카드사명
|
|
bankCode = (String)resultData.get("BankCode"); // 결제은행코드
|
|
bankName = (String)resultData.get("BankName"); // 결제은행명
|
|
/*
|
|
*************************************************************************************
|
|
* <결제 성공 여부 확인>
|
|
*************************************************************************************
|
|
*/
|
|
if(PayMethod != null){
|
|
if(PayMethod.equals("CARD")){
|
|
if(ResultCode.equals("3001")) paySuccess = true; // 신용카드(정상 결과코드:3001)
|
|
}else if(PayMethod.equals("BANK")){
|
|
if(ResultCode.equals("4000")) paySuccess = true; // 계좌이체(정상 결과코드:4000)
|
|
}else if(PayMethod.equals("CELLPHONE")){
|
|
if(ResultCode.equals("A000")) paySuccess = true; // 휴대폰(정상 결과코드:A000)
|
|
}else if(PayMethod.equals("VBANK")){
|
|
if(ResultCode.equals("4100")) paySuccess = true; // 가상계좌(정상 결과코드:4100)
|
|
}else if(PayMethod.equals("SSG_BANK")){
|
|
if(ResultCode.equals("0000")) paySuccess = true; // SSG은행계좌(정상 결과코드:0000)
|
|
}else if(PayMethod.equals("CMS_BANK")){
|
|
if(ResultCode.equals("0000")) paySuccess = true; // 계좌간편결제(정상 결과코드:0000)
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
ResultCode = authResultCode;
|
|
ResultMsg = authResultMsg;
|
|
}
|
|
|
|
//PG테이블 변수설정 오류시에도 PG테이블에 값 insert
|
|
mjonPayVO.setPgStatus("4"); //결제오류
|
|
mjonPayVO.setResultCode(authResultCode);
|
|
mjonPayVO.setResultMsg(ResultMsg); //'결과메시지',
|
|
mjonPayVO.setTid(txTid); // 거래 ID
|
|
mjonPayVO.setPayMethod(payMethod); // 결제수단
|
|
mjonPayVO.setMid(mid); // 상점 아이디
|
|
mjonPayVO.setAmt(amt); // 결제 금액
|
|
mjonPayVO.setPgCode("INNOPAY"); //이노페이(강제세팅)
|
|
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
|
// userId = mjonPayVO.getMoid() ; //테스트시 화면에서 전송한 고객사 ID
|
|
// mjonPayVO.setMoid(idgenPgMoid.getNextStringId()); // 상점 주문번호 결제 완료 후 생성
|
|
mjonPayVO.setRegNo(mjonPayVO.getBuyerTel()); // '사업자번호/전화번호',
|
|
mjonPayVO.setMobile(mjonPayVO.getBuyerTel()); // '사업자번호/전화번호',
|
|
mjonPayVO.setPhone(mjonPayVO.getBuyerTel()); //연락처
|
|
mjonPayVO.setEmail(mjonPayVO.getBuyerEmail()); //이메일
|
|
mjonPayVO.setRepName(mjonPayVO.getBuyerName()); //'대표자명',
|
|
mjonPayVO.setConfirmYn("N"); //'완료여부',
|
|
mjonPayVO.setUserId(userId);
|
|
mjonPayVO.setFrstRegisterId(userId);
|
|
mjonPayVO.setCardCode(cardCode); //결제카드사코드
|
|
mjonPayVO.setCardName(cardName); //결제카드사명
|
|
mjonPayVO.setBankCode(bankCode); //결제은행코드
|
|
mjonPayVO.setBankName(bankName); //결제은행사명
|
|
|
|
if(!paySuccess) {
|
|
return false;
|
|
}
|
|
|
|
//PG테이블 변수 설정--------------------------------------------------------------------------------
|
|
if("0000".equals(authResultCode)) { // 인증결과 : 0000(성공)
|
|
mjonPayVO.setPgStatus("1"); //'결제 상태 - 0:입금대기, 1:결제완료, 4:결제오류, 9:취소완료'
|
|
mjonPayVO.setResultCode(authResultCode); //결과코드
|
|
}
|
|
|
|
return paySuccess ;
|
|
}
|
|
|
|
//server to server 통신
|
|
public String connectToServer(String data, String reqUrl) throws Exception{
|
|
HttpURLConnection conn = null;
|
|
BufferedReader resultReader = null;
|
|
PrintWriter pw = null;
|
|
URL url = null;
|
|
|
|
int statusCode = 0;
|
|
StringBuffer recvBuffer = new StringBuffer();
|
|
try{
|
|
url = new URL(reqUrl);
|
|
conn = (HttpURLConnection) url.openConnection();
|
|
conn.setRequestMethod("POST");
|
|
conn.setConnectTimeout(3000);
|
|
conn.setReadTimeout(5000);
|
|
conn.setDoOutput(true);
|
|
|
|
pw = new PrintWriter(conn.getOutputStream());
|
|
pw.write(data);
|
|
pw.flush();
|
|
|
|
statusCode = conn.getResponseCode();
|
|
resultReader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "euc-kr"));
|
|
for(String temp; (temp = resultReader.readLine()) != null;){
|
|
recvBuffer.append(temp).append("\n");
|
|
}
|
|
|
|
if(!(statusCode == HttpURLConnection.HTTP_OK)){
|
|
throw new Exception();
|
|
}
|
|
|
|
return recvBuffer.toString().trim();
|
|
}catch (Exception e){
|
|
return "9999";
|
|
}finally{
|
|
recvBuffer.setLength(0);
|
|
|
|
try{
|
|
if(resultReader != null){
|
|
resultReader.close();
|
|
}
|
|
}catch(Exception ex){
|
|
resultReader = null;
|
|
}
|
|
|
|
try{
|
|
if(pw != null) {
|
|
pw.close();
|
|
}
|
|
}catch(Exception ex){
|
|
pw = null;
|
|
}
|
|
|
|
try{
|
|
if(conn != null) {
|
|
conn.disconnect();
|
|
}
|
|
}catch(Exception ex){
|
|
conn = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
//JSON String -> HashMap 변환
|
|
public static HashMap jsonStringToHashMap(String str) throws Exception{
|
|
HashMap dataMap = new HashMap();
|
|
JSONParser parser = new JSONParser();
|
|
try{
|
|
Object obj = parser.parse(str);
|
|
JSONObject jsonObject = (JSONObject)obj;
|
|
|
|
Iterator<String> keyStr = jsonObject.keySet().iterator();
|
|
while(keyStr.hasNext()){
|
|
String key = keyStr.next();
|
|
Object value = jsonObject.get(key);
|
|
|
|
dataMap.put(key, value);
|
|
}
|
|
}catch(Exception e){
|
|
|
|
}
|
|
return dataMap;
|
|
}
|
|
|
|
public final synchronized String getyyyyMMddHHmmss(){
|
|
SimpleDateFormat yyyyMMddHHmmss = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
return yyyyMMddHHmmss.format(new Date());
|
|
}
|
|
|
|
// SHA-256 형식으로 암호화
|
|
public class DataEncrypt{
|
|
MessageDigest md;
|
|
String strSRCData = "";
|
|
String strENCData = "";
|
|
String strOUTData = "";
|
|
|
|
public DataEncrypt(){ }
|
|
public String encrypt(String strData){
|
|
String passACL = null;
|
|
MessageDigest md = null;
|
|
try{
|
|
md = MessageDigest.getInstance("SHA-256");
|
|
md.reset();
|
|
md.update(strData.getBytes());
|
|
byte[] raw = md.digest();
|
|
passACL = encodeHex(raw);
|
|
}catch(Exception e){
|
|
System.out.print("암호화 에러" + e.toString());
|
|
}
|
|
return passACL;
|
|
}
|
|
|
|
public String encodeHex(byte [] b){
|
|
char [] c = Hex.encodeHex(b);
|
|
return new String(c);
|
|
}
|
|
}
|
|
|
|
// 세금 값 넣기
|
|
public MjonPayVO setTexVO(MjonPayVO mjonPayVO) throws Exception{
|
|
/*
|
|
* amt = mjonPayVO.setAmt(amt); // 결제 금액
|
|
* userId = mjonPayVO.getMoid() ; //테스트시 화면에서 전송한 고객사 ID
|
|
* mjonPayVO.setPayMethod(payMethod); // 결제수단
|
|
*/
|
|
|
|
String s_amt = mjonPayVO.getAmt();
|
|
// 부가세별도 충전금액
|
|
s_amt = setCashVatNotIncluded(s_amt);
|
|
|
|
String s_user_id = mjonPayVO.getMoid();
|
|
|
|
//PG Tax테이블 변수 생성
|
|
mjonPayVO.setRcptType("9"); //PG결제는 세금계산서 '발행유형-[PG결제-현금영수증 유형과 동일] 1:소득공제, 2:지출증빙, 9:세금계산서', (확인필요)
|
|
|
|
mjonPayVO.setRegNo(mjonPayVO.getBuyerTel()); // '사업자번호/전화번호',
|
|
mjonPayVO.setMobile(mjonPayVO.getBuyerTel()); // '사업자번호/전화번호',
|
|
mjonPayVO.setPhone(mjonPayVO.getBuyerTel()); //연락처
|
|
mjonPayVO.setEmail(mjonPayVO.getBuyerEmail()); //이메일
|
|
mjonPayVO.setRepName(mjonPayVO.getBuyerName()); //'대표자명',
|
|
mjonPayVO.setConfirmYn("Y"); //'완료여부',
|
|
|
|
//캐쉬 테이블 변수 생성
|
|
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()) ;
|
|
mjonPayVO.setPointId(idgenMjonPointId.getNextStringId()) ;
|
|
mjonPayVO.setCash(Float.parseFloat(s_amt)); //'사용 캐쉬-양수:지급, 음수:소모',
|
|
|
|
mjonPayVO.setOrderId(mjonPayVO.getMoid()); //'주문번호-주문번호가 없으면 관리자 임의 지급',
|
|
|
|
mjonPayVO.setUserId(s_user_id);
|
|
mjonPayVO.setFrstRegisterId(s_user_id);
|
|
|
|
return mjonPayVO;
|
|
}
|
|
|
|
// 부가세별도 충전금액
|
|
private String setCashVatNotIncluded(String val) {
|
|
String rtnVal = "";
|
|
|
|
// 공급대가 = 공급가액(공급대가/11*10) + 부가세(공급대가/11)
|
|
// 11000 = (11000/11*10 ) + 11000/11
|
|
// 공급가액 계산로직
|
|
rtnVal = Math.round(Float.parseFloat(val) / 11 * 10) + "";
|
|
|
|
return rtnVal;
|
|
}
|
|
|
|
//cash 값 넣기
|
|
/**
|
|
* @param mjonPayVO
|
|
* @return
|
|
* @throws Exception
|
|
* cash table 값 넣기
|
|
*/
|
|
public MjonPayVO setCashVO(MjonPayVO mjonPayVO) throws Exception{
|
|
/*
|
|
* amt = mjonPayVO.setAmt(amt); // 결제 금액
|
|
* userId = mjonPayVO.getMoid() ; //테스트시 화면에서 전송한 고객사 ID
|
|
* mjonPayVO.setPayMethod(payMethod); // 결제수단
|
|
*/
|
|
|
|
String s_amt = mjonPayVO.getAmt();
|
|
// 부가세별도 충전금액
|
|
s_amt = setCashVatNotIncluded(s_amt);
|
|
|
|
String s_user_id = mjonPayVO.getMoid();
|
|
|
|
//캐쉬 테이블 변수 생성
|
|
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId()) ;
|
|
mjonPayVO.setPointId(idgenMjonPointId.getNextStringId()) ;
|
|
mjonPayVO.setCash(Float.parseFloat(s_amt)); //'사용 캐쉬-양수:지급, 음수:소모',
|
|
|
|
mjonPayVO.setOrderId(mjonPayVO.getMoid()); //'주문번호-주문번호가 없으면 관리자 임의 지급',
|
|
|
|
mjonPayVO.setUserId(s_user_id);
|
|
mjonPayVO.setFrstRegisterId(s_user_id);
|
|
|
|
|
|
String s_paymethod = mjonPayVO.getPayMethod();
|
|
|
|
if(s_paymethod.equals("CARD")){
|
|
s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001)
|
|
}else if(s_paymethod.equals("BANK")){
|
|
s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000)
|
|
}else if(s_paymethod.equals("CELLPHONE")){
|
|
s_paymethod = "휴대폰" ; // 휴대폰(정상 결과코드:A000)
|
|
}else if(s_paymethod.equals("VBANK")){
|
|
s_paymethod = "가상계좌" ; // 가상계좌(정상 결과코드:4100)
|
|
}else if(s_paymethod.equals("SSG_BANK")){
|
|
s_paymethod = "SSG은행계좌" ; // SSG은행계좌(정상 결과코드:0000)
|
|
}else if(s_paymethod.equals("CMS_BANK")){
|
|
s_paymethod = "계좌간편결제" ; // 계좌간편결제(정상 결과코드:0000)
|
|
}else {
|
|
s_paymethod = "";
|
|
}
|
|
|
|
String memo = s_paymethod + " " + s_amt + " 충전" ;
|
|
mjonPayVO.setMemo(memo); //캐쉬메모
|
|
|
|
return mjonPayVO;
|
|
}
|
|
|
|
//point 값 넣기
|
|
/**
|
|
* @param mjonPayVO
|
|
* @return
|
|
* @throws Exception
|
|
* point table 값 넣기
|
|
*/
|
|
public MjonPayVO setPointVO(MjonPayVO mjonPayVO) throws Exception{
|
|
|
|
String s_paymethod = mjonPayVO.getPayMethod();
|
|
if(s_paymethod.equals("CARD")){
|
|
s_paymethod = "신용카드" ; // 신용카드(정상 결과코드:3001)
|
|
}else if(s_paymethod.equals("SPAY")){
|
|
s_paymethod = "간편결제" ; // 간편결제
|
|
}else if(s_paymethod.equals("BANK")){
|
|
s_paymethod = "계좌이체" ; // 계좌이체(정상 결과코드:4000)
|
|
}else if(s_paymethod.equals("CELLPHONE")){
|
|
s_paymethod = "휴대폰" ; // 휴대폰(정상 결과코드:A000)
|
|
}else if(s_paymethod.equals("VBANK")){
|
|
s_paymethod = "가상계좌" ; // 가상계좌(정상 결과코드:4100)
|
|
}else if(s_paymethod.equals("SSG_BANK")){
|
|
s_paymethod = "SSG은행계좌" ; // SSG은행계좌(정상 결과코드:0000)
|
|
}else if(s_paymethod.equals("CMS_BANK")){
|
|
s_paymethod = "계좌간편결제" ; // 계좌간편결제(정상 결과코드:0000)
|
|
}else {
|
|
s_paymethod = "";
|
|
}
|
|
|
|
String s_amt = mjonPayVO.getAmt();
|
|
// 부가세별도 충전금액
|
|
s_amt = setCashVatNotIncluded(s_amt);
|
|
|
|
//포인트 테이블 변수설정
|
|
JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
|
|
//int point = Math.round( (Float.parseFloat(s_amt)*2/100) ) ;
|
|
float p_i_re_point = 0;
|
|
if (sysJoinSetVO != null) {
|
|
p_i_re_point = sysJoinSetVO.getPointPer();
|
|
}
|
|
int point = Math.round((Float.parseFloat(s_amt)*p_i_re_point/100)) ;
|
|
|
|
mjonPayVO.setPoint(point);
|
|
|
|
String pointMemo = s_paymethod; //포인트 메모
|
|
pointMemo = pointMemo + " " + point + " 충전" ;
|
|
|
|
mjonPayVO.setPointMemo(pointMemo);
|
|
|
|
return mjonPayVO;
|
|
}
|
|
|
|
public MjonPayVO setPayInfo(HttpServletRequest request, MjonPayVO mjonPayVO) throws Exception{
|
|
|
|
if(!this.pgAuth(mjonPayVO , request)) {
|
|
mjonPayVO.setPaySuccess(false);
|
|
return mjonPayVO;
|
|
}
|
|
|
|
//세금 값 넣기
|
|
mjonPayVO = this.setTexVO(mjonPayVO);
|
|
//cash 값 넣기
|
|
mjonPayVO = this.setCashVO(mjonPayVO);
|
|
//point 값 넣기
|
|
mjonPayVO = this.setPointVO(mjonPayVO);
|
|
|
|
return mjonPayVO;
|
|
}
|
|
}
|