%@ page contentType="text/html; charset=euc-kr"%> <%@ page import="java.util.Date" %> <%@ page import="java.util.HashMap" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.io.PrintWriter" %> <%@ page import="java.io.BufferedReader" %> <%@ page import="java.io.InputStreamReader" %> <%@ page import="java.net.URL" %> <%@ page import="java.net.URLEncoder" %> <%@ page import="java.net.HttpURLConnection" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.security.MessageDigest" %> <%@ page import="org.json.simple.JSONObject" %> <%@ page import="org.json.simple.parser.JSONParser" %> <%@ page import="org.apache.commons.codec.binary.Hex" %> <% request.setCharacterEncoding("euc-kr"); /* **************************************************************************************** * <Ãë¼Ò¿äû ÆÄ¶ó¹ÌÅÍ> * Ãë¼Ò½Ã Àü´ÞÇÏ´Â ÆÄ¶ó¹ÌÅÍÀÔ´Ï´Ù. * »ùÇÃÆäÀÌÁö¿¡¼´Â ±âº»(Çʼö) ÆÄ¶ó¹ÌÅ͸¸ ¿¹½ÃµÇ¾î ÀÖÀ¸¸ç, * Ãß°¡ °¡´ÉÇÑ ¿É¼Ç ÆÄ¶ó¹ÌÅÍ´Â ¿¬µ¿¸Þ´º¾óÀ» Âü°íÇϼ¼¿ä. **************************************************************************************** */ String tid = (String)request.getParameter("TID"); // °Å·¡ ID String cancelAmt = (String)request.getParameter("CancelAmt"); // Ãë¼Ò±Ý¾× String partialCancelCode = (String)request.getParameter("PartialCancelCode"); // ºÎºÐÃë¼Ò¿©ºÎ String mid = "itn180208m"; // »óÁ¡ ID String moid = "nicepay_api_3.0_test"; // ÁÖ¹®¹øÈ£ String cancelMsg = "°í°´¿äû"; // Ãë¼Ò»çÀ¯ /* **************************************************************************************** * <ÇØ½¬¾ÏÈ£È> (¼öÁ¤ÇÏÁö ¸¶¼¼¿ä) * SHA-256 ÇØ½¬¾Ïȣȴ °Å·¡ À§º¯Á¶¸¦ ¸·±âÀ§ÇÑ ¹æ¹ýÀÔ´Ï´Ù. **************************************************************************************** */ DataEncrypt sha256Enc = new DataEncrypt(); String merchantKey = "7wnkxZbHvIA7FoCc6jF8IcXU+Wd3sn5BcMHuWJROe53AjRKnC6CistVdVZwrUKCCdaF+dAx230bwHSQ/E29RWA=="; // »óÁ¡Å° String ediDate = getyyyyMMddHHmmss(); String signData = sha256Enc.encrypt(mid + cancelAmt + ediDate + merchantKey); /* **************************************************************************************** * <Ãë¼Ò ¿äû> * Ãë¼Ò¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅÍ »ý¼º ÈÄ server to server Åë½ÅÀ» ÅëÇØ Ãë¼Ò ó¸® ÇÕ´Ï´Ù. * Ãë¼Ò »çÀ¯(CancelMsg) ¿Í °°ÀÌ ÇÑ±Û ÅØ½ºÆ®°¡ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ´Â euc-kr encoding 󸮰¡ ÇÊ¿äÇÕ´Ï´Ù. **************************************************************************************** */ StringBuffer requestData = new StringBuffer(); requestData.append("TID=").append(tid).append("&"); requestData.append("MID=").append(mid).append("&"); requestData.append("Moid=").append(moid).append("&"); requestData.append("CancelAmt=").append(cancelAmt).append("&"); requestData.append("CancelMsg=").append(URLEncoder.encode(cancelMsg, "euc-kr")).append("&"); requestData.append("PartialCancelCode=").append(partialCancelCode).append("&"); requestData.append("EdiDate=").append(ediDate).append("&"); requestData.append("SignData=").append(signData); String resultJsonStr = connectToServer(requestData.toString(), "https://webapi.nicepay.co.kr/webapi/cancel_process.jsp"); /* **************************************************************************************** * <Ãë¼Ò °á°ú ÆÄ¶ó¹ÌÅÍ Á¤ÀÇ> * »ùÇÃÆäÀÌÁö¿¡¼´Â Ãë¼Ò °á°ú ÆÄ¶ó¹ÌÅÍ Áß ÀϺθ¸ ¿¹½ÃµÇ¾î ÀÖÀ¸¸ç, * Ãß°¡ÀûÀ¸·Î »ç¿ëÇÏ½Ç ÆÄ¶ó¹ÌÅÍ´Â ¿¬µ¿¸Þ´º¾óÀ» Âü°íÇϼ¼¿ä. **************************************************************************************** */ String ResultCode = ""; String ResultMsg = ""; String CancelAmt = ""; String CancelDate = ""; String CancelTime = ""; String TID = ""; if("9999".equals(resultJsonStr)){ ResultCode = "9999"; ResultMsg = "Åë½Å½ÇÆÐ"; }else{ HashMap resultData = jsonStringToHashMap(resultJsonStr); ResultCode = (String)resultData.get("ResultCode"); // °á°úÄÚµå (Ãë¼Ò¼º°ø: 2001, Ãë¼Ò¼º°ø(LGU °èÁÂÀÌü):2211) ResultMsg = (String)resultData.get("ResultMsg"); // °á°ú¸Þ½ÃÁö CancelAmt = (String)resultData.get("CancelAmt"); // Ãë¼Ò±Ý¾× CancelDate = (String)resultData.get("CancelDate"); // Ãë¼ÒÀÏ CancelTime = (String)resultData.get("CancelTime"); // Ãë¼Ò½Ã°£ TID = (String)resultData.get("TID"); // °Å·¡¾ÆÀ̵ð TID } %>
| Ãë¼Ò °á°ú ³»¿ë | [<%=ResultCode%>]<%=ResultMsg%> |
|---|---|
| °Å·¡ ¾ÆÀ̵ð | <%=TID%> |
| Ãë¼Ò ±Ý¾× | <%=CancelAmt%> |
| Ãë¼ÒÀÏ | <%=CancelDate%> |
| Ãë¼Ò½Ã°£ | <%=CancelTime%> |