%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="com.inicis.std.util.SignatureUtil"%>
<%@page import="java.util.*"%>
<%@page import="java.text.DateFormat"%>
<%
/*
//*** 위변조 방지체크를 signature 생성 ***
oid, price, timestamp 3개의 키와 값을
key=value 형식으로 하여 '&'로 연결한 하여 SHA-256 Hash로 생성 된값
ex) oid=INIpayTest_1432813606995&price=819000×tamp=2012-02-01 09:19:04.004
* key기준 알파벳 정렬
* timestamp는 반드시 signature생성에 사용한 timestamp 값을 timestamp input에 그대로 사용하여야함
*/
//############################################
// 1.전문 필드 값 설정(***가맹점 개발수정***)
//############################################
// 여기에 설정된 값은 Form 필드에 동일한 값으로 설정
// String mid = "INIBillTst"; // 가맹점 ID(가맹점 수정후 고정)
String mid = "crosorkr01"; // 가맹점 ID(가맹점 수정후 고정)
//인증
// String signKey = "SU5JTElURV9UUklQTEVERVNfS0VZU1RS"; // 가맹점에 제공된 웹 표준 사인키(가맹점 수정후 고정)
String signKey = "UE9idGFmcGJEdU1HR04zbEdLdUM0QT09"; // 가맹점에 제공된 웹 표준 사인키(가맹점 수정후 고정)
String timestamp = SignatureUtil.getTimestamp(); // util에 의해서 자동생성
String oid = mid+"_"+SignatureUtil.getTimestamp(); // 가맹점 주문번호(가맹점에서 직접 설정)
String price = "1000"; // 상품가격(특수기호 제외, 가맹점에서 직접 설정)
//###############################################
// 2. 가맹점 확인을 위한 signKey를 해시값으로 변경 (SHA-256방식 사용)
//###############################################
String mKey = SignatureUtil.hash(signKey, "SHA-256");
//###############################################
// 2.signature 생성
//###############################################
Map signParam = new HashMap();
signParam.put("oid", oid); // 필수
signParam.put("price", price); // 필수
signParam.put("timestamp", timestamp); // 필수
// signature 데이터 생성 (모듈에서 자동으로 signParam을 알파벳 순으로 정렬후 NVP 방식으로 나열해 hash)
String signature = SignatureUtil.makeSignature(signParam);
/* 기타 */
//String siteDomain = "http://127.0.0.1:8080/INIpayStdSample"; //가맹점 도메인 입력
String siteDomain = "http://localhost:8081/INIpayStdSample"; //가맹점 도메인 입력
// 페이지 URL에서 고정된 부분을 적는다.
// Ex) returnURL이 http://127.0.0.1:8080INIpayStdSample/INIStdPayReturn.jsp 라면
// http://127.0.0.1:8080/INIpayStdSample 까지만 기입한다.
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
DateFormat df = new SimpleDateFormat("yyyyMMdd");
cal.add(Calendar.DATE, 14);
String endDt = df.format(cal.getTime());
String gopaymethod = "VBank"; // 결재구분:가상계좌
//String acceptmethod = "va_receipt"; // 현금영수증O
String acceptmethod = "no_receipt"; // 현금영수증X
acceptmethod += ":" + "vbank("+endDt+")"; // 가상계좌 입금기한 ex) vbank(YYYYMMDD)
String resMail = "yu3145@naver.com"; // 알림 메일 주소
String buyertel = "010-8532-6650"; // 알림 전화번호
%>
이니시스 표준결제 신용카드 빌링키 발급 샘플
이 페이지는 INIpay Standard 결제요청을 위한 예시입니다.
결제처리를 위한 action등의 모든 동작은 Import 된 스크립트에 의해 자동처리됩니다.
Form에 설정된 모든 필드의 name은 대소문자 구분하며,
이 Sample은 결제를 위해서 설정된 Form은 테스트 / 이해돕기를 위해서 모두 type="text"로 설정되어 있습니다.
운영에 적용시에는 일부 가맹점에서 필요에 의해 사용자가 변경하는 경우를 제외하고
모두 type="hidden"으로 변경하여 사용하시기 바랍니다.