%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<%@page import="mup.mcash.module.common.McashCipher.*"%> <%@page import="java.security.MessageDigest"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.Date"%> <%@page import="itn.let.mjo.pay.service.MjonPayVO" %> <% //unique한 거래번호를 위한 거래일시 (밀리세컨드까지 조회) SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); String appr_dtm = dateFormat.format(new Date()); String kgmServerName = request.getServerName(); String kgmPath = request.getScheme() + "://" + request.getServerName() +":" + request.getServerPort(); if (request.getServerPort() == 80) { kgmPath = request.getScheme() + "://" + request.getServerName(); } %> <% /***************************************************************************************** - 필수 입력 항목 *****************************************************************************************/ MjonPayVO mjonPayVO = (MjonPayVO)request.getAttribute("mjonPayVO"); String CASH_GB = "MC"; //[ 2byte 고정] 결제수단구분. "MC" 고정값. 수정불가! // 테스트 //String MC_SVCID = "170622040674"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) //String PAY_MODE = "00"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) // 운영 String MC_SVCID = "220613125202"; //C //[ 12byte 고정] 모빌리언스에서 부여한 서비스ID (12byte 숫자 형식) String PAY_MODE = "10"; //C //[ 2byte 고정] 연동시 테스트/실결제 구분 (00: 테스트결제-비과금, 10: 실거래결제-과금) String Okurl = kgmPath + "/web/kgm/pay/OkUrlAjax.do"; String Prdtnm = "충전하기"; //C //[ 50byte 이하] 상품명 String Siteurl = kgmServerName; // localhost [ 20byte 이하] 가맹점도메인 (예: www.mcash.co.kr) String Tradeid = MC_SVCID + "_" + appr_dtm; //[4byte 이상, 40byte 이하] 가맹점거래번호. 결제 요청 시 마다 unique한 값을 세팅해야 함. //해당 샘플에는 테스트를 위해 {가맹점 서비스ID + 요청일시} 형식으로 세팅하였음. String Notiurl = kgmPath + "/web/kgm/pay/NotiUrlAjax.do"; /***************************************************************************************** - 디자인 관련 필수항목 *****************************************************************************************/ String LOGO_YN = "N"; //[ 1byte 고정] 가맹점 로고 사용 여부 (N: 모빌리언스 로고-default, Y: 가맹점 로고 (사전에 모빌리언스에 가맹점 로고 이미지를 등록해야함)) String CALL_TYPE = "P"; //[ 4byte 이하] 결제창 호출 방식 (P: 팝업-default, SELF: 페이지전환, I: 아이프레임) /***************************************************************************************** - 선택 입력 항목 *****************************************************************************************/ String MC_AUTHPAY = ""; //[ 1byte 고정] 하이브리드 방식 사용시 "Y" 로 설정 (휴대폰 SMS인증 후 일반 소켓모듈 결제 연동시 사용) (N: 미사용-default, Y: 사용) String MC_AUTOPAY = ""; //[ 1byte 고정] 자동결제를 위한 최초 일반결제 시 "Y" 세팅. 결제 완료 후 휴대폰정보 대체용 USERKEY 발급 및 자동결제용 AutoBillKey 발급 (N: 미사용-default, Y: 사용) String MC_PARTPAY = ""; //[ 1byte 고정] 부분취소를 위한 일반결제 시 "Y" 세팅. 결제 완료 후 자동결제 USERKEY 발급 (N: 미사용-default, Y: 사용) String MC_No = ""; //[ 11byte 이하] 사용자 폰번호 (결제창 호출시 세팅할 폰번호) String MC_FIXNO = ""; //[ 1byte 고정] 사용자 폰번호 수정불가 여부(N: 수정가능-default, Y: 수정불가) String MC_DEFAULTCOMMID = ""; //[ 3byte 고정] 통신사 기본 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사가 미리 선택되어짐. String MC_FIXCOMMID = ""; //[ 1byte 고정] 통신사 고정 선택 값. SKT, KTF, LGT 3개의 값 중 원하는 통신사 세팅 시 해당 통신사만 결제창에 보여짐. String Payeremail = ""; //[ 30byte 이하] 결제자 e-mail String Userid = mjonPayVO.getUserId(); //[ 50byte 이하] 가맹점 결제자ID String Item = ""; //[ 8byte 이하] 아이템코드. 미사용 시 반드시 공백으로 세팅. String Prdtcd = ""; //[ 40byte 이하] 상품코드. 자동결제인 경우 상품코드별 SMS문구를 별도 세팅할 때 사용하며 사전에 모빌리언스에 등록이 필요함. String MC_Cpcode = ""; //[ 20byte 이하] 리셀러하위상점key. 리셀러 업체인 경우에만 세팅. String Notiemail = ""; //[ 30byte 이하] 알림 e-mail: 결제 완료 후 당사와 가맹점간의 Noti 연동이 실패한 경우 알람 메일을 받을 가맹점 담당자 이메일주소 //String Notiurl = ""; //[ 128byte 이하] 결제 완료 후 가맹점 측 결제 처리를 담당하는 페이지. System back단으로 호출이 되며 사용자에게는 보여지지 않는다. String Closeurl = ""; //[ 128byte 이하] 결제창 취소버튼, 닫기버튼 클릭 시 호출되는 가맹점 측 페이지. iframe 호출 시 필수! (예: http://www.mcash.co.kr/closeurl.jsp) String Failurl = ""; //[ 128byte 이하] 결제 실패 시 사용자에게 보여질 가맹점 측 실패 페이지. 결제처리에 대한 실패처리 안내를 가맹점에서 제어해야 할 경우만 사용. // iframe 호출 시 필수! (예: http://www.mcash.co.kr/failurl.jsp) String MSTR = ""; //[2000byte 이하] 가맹점 콜백 변수. 가맹점에서 추가적으로 파라미터가 필요한 경우 사용하며 &, % 는 사용불가 (예: MSTR="a=1|b=2|c=3") String MC_EZ_YN = "Y"; //[ 1byte 고정] 간소화결제여부. 간소화결제 사용시 "Y" 로 설정 (N: 미사용-default, Y: 사용) String MC_EZ_KEY = ""; //[ 20byte 고정] 간소화결제 사용자키 /***************************************************************************************** - 오픈마켓의 경우 아래의 정보를 입력해야 합니다. 장바구니 결제의 경우 대표 판매자 외 n명, 대표 판매자 연락처를 입력하세요. 예) Sellernm = "홍길동외 2명"; Sellertel = "0212345678"; *****************************************************************************************/ String Sellernm = ""; //[ 50byte 이하] 실판매자 이름 (오픈마켓의 경우 실 판매자 정보 필수) String Sellertel = ""; //[ 15byte 이하] 실판매자 전화번호 (오픈마켓의 경우 실 판매자 정보 필수) /***************************************************************************************** - 디자인 관련 선택항목 (향후 변경될 수 있습니다.) *****************************************************************************************/ String IFRAME_NAME = ""; //[ 1byte 고정] 결제창을 iframe으로 호출 할 경우 iframe 명칭 세팅 String INFOAREA_YN = ""; //[ 1byte 고정] 결제창 안내문 표시여부 (Y: 표시-default, N: 미표시) String FOOTER_YN = ""; //[ 1byte 고정] 결제창 하단 안내 표시여부 (Y: 표시-default, N: 미표시) String HEIGHT = ""; //[ 4byte 이하] 결제창 높이 (px단위: iframe 등 사용시 결제창 높이 조절, 팝업창 등 호출시 "" 로 세팅) String PRDT_HIDDEN = ""; //[ 1byte 고정] iframe 사용시 상품명 숨김 여부 (가맹점 디자인 결제창으로 결제 입력 사항만 iframe에서 사용시) String EMAIL_HIDDEN = ""; //[ 1byte 고정] 결제자 e-mail 입력창 숨김 여부 (N: 표시-default, Y: 미표시) String CONTRACT_HIDDEN = ""; //[ 1byte 고정] 이용약관 숨김 여부 (Y: 표시-default, N: 미표시) /***************************************************************************************** - 암호화 처리 (암호화 사용 시) Cryptstring 항목은 금액변조에 대한 확인용으로 반드시 아래와 같이 문자열을 생성하여야 합니다. 주) 암호화 스트링은 가맹점에서 전달하는 거래번호로 부터 추출되어 사용되므로 암호화에 이용한 거래번호가 변조되어 전달될 경우 복호화 실패로 결제 진행 불가 *****************************************************************************************/ String Cryptyn = "N"; //Y: 암호화 사용, N: 암호화 미사용 String Cryptstring = ""; //암호화 사용 시 암호화된 스트링 if( Cryptyn.equals("Y") ){ //Cryptstring = Prdtprice + Okurl; //금액변조확인 (결제요청금액 + Okurl) Okurl = McashCipher.encodeString(Okurl, Tradeid); Failurl = McashCipher.encodeString(Failurl, Tradeid); Notiurl = McashCipher.encodeString(Notiurl, Tradeid); //Prdtprice = McashCipher.encodeString(Prdtprice, Tradeid); //Cryptstring = McashCipher.encodeString(Cryptstring, Tradeid); } %>