SqlParameter pl_objSqlParam = null; // SqlParameter 객체 /// ------------------------------------------------------- /// <summary> /// 캐쉬 충전 시 로그 입력 /// </summary> /// ------------------------------------------------------- public void InsertPGLog(TPGPayLogMst objTPGPayLogMst) { try { pl_objSqlCommand = new SqlCommand("dbo.UP_PG_PAY_LOG_TX_INS", pl_objSqlCon); pl_objSqlCommand.CommandType = CommandType.StoredProcedure; pl_objSqlCommand.Parameters.AddWithValue("@pi_intOrderNo", objTPGPayLogMst.OrderNo); pl_objSqlCommand.Parameters.AddWithValue("@pi_strUserID", objTPGPayLogMst.UserID); pl_objSqlCommand.Parameters.AddWithValue("@pi_strUserName", objTPGPayLogMst.UserName); pl_objSqlCommand.Parameters.AddWithValue("@pi_strPGCode", objTPGPayLogMst.PGCode); pl_objSqlCommand.Parameters.AddWithValue("@pi_strMallID", objTPGPayLogMst.MallID); pl_objSqlCommand.Parameters.AddWithValue("@pi_intPayAmt", objTPGPayLogMst.PayAmt); pl_objSqlCommand.Parameters.AddWithValue("@pi_intVATAmt", objTPGPayLogMst.VATAmt); pl_objSqlCon.Open(); pl_objSqlCommand.ExecuteNonQuery(); return; } catch (Exception pl_objExp) { Console.WriteLine(pl_objExp); return; } finally { pl_objSqlCon.Close(); } }
public ActionResult POQRequest(POQSuccessResp objPOQSuccResp) { string strURL = "https://testpgapi.payletter.com/v1.0/payments/request"; string strPostData = "{\"pgcode\" : \"" + objPOQSuccResp.pgcode + "\"," + "\"user_id\":\"" + objPOQSuccResp.uid + "\"," + "\"user_name\":\"mh_kim\"," + "\"service_name\":\"페이레터\"," + "\"client_id\":\"pay_test\"," + "\"order_no\":\"" + long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")) + "\"," + "\"amount\":" + objPOQSuccResp.amount + "," + "\"tax_amount\":\"20\"," + "\"product_name\":\"만두\"," + "\"email_flag\":\"Y\"," + "\"email_addr\":\"[email protected]\"," + "\"autopay_flag\":\"N\"," + "\"receipt_flag\":\"Y\"," + "\"custom_parameter\":\"this is custom parameter\"," + "\"return_url\":\"" + "http://usrpjtmhk.payletter.co.kr/Home/POQReturn" + "\"," + "\"callback_url\":\"" + "http://usrpjtmhk.payletter.co.kr/Home/POQCallback" + "\"," + "\"cancel_url\":\"" + "http://usrpjtmhk.payletter.co.kr/Home/POQCancel" + "\"}"; var inputJsonData = JsonConvert.DeserializeObject <POQCashLog>(strPostData); TPGPayLogMst objTPGPayLogMst = new TPGPayLogMst(); objTPGPayLogMst.OrderNo = inputJsonData.order_no; objTPGPayLogMst.UserID = inputJsonData.user_id; objTPGPayLogMst.UserName = inputJsonData.user_name; objTPGPayLogMst.PGCode = inputJsonData.pgcode; objTPGPayLogMst.MallID = inputJsonData.client_id; objTPGPayLogMst.PayAmt = inputJsonData.amount; objTPGPayLogMst.VATAmt = inputJsonData.tax_amount; try { HttpWebRequest objWRequest = (HttpWebRequest)WebRequest.Create(strURL); objWRequest.Method = "POST"; objWRequest.ContentType = "application/json"; objWRequest.Headers.Add("Authorization", "PLKEY MTFBNTAzNTEwNDAxQUIyMjlCQzgwNTg1MkU4MkZENDA="); // Authorization 설정 byte[] objResultByte = Encoding.UTF8.GetBytes(strPostData); objWRequest.ContentLength = objResultByte.Length; Stream objStream = objWRequest.GetRequestStream(); objStream.Write(objResultByte, 0, objResultByte.Length); objStream.Close(); objWRequest.Timeout = 20000; //----------------------------------------------------------------------------------------- // Description : API 요청에 대한 성공/실패 여부 (오류코드) // HTTP StatusCode 200 OK 인 경우에만 요청 처리 성공이며, 성공이 아닌 경우에는 아래 StatusCode를 참고하시기 바랍니다. // - 401 : [998] Authentication token is missing or incorrect. (인증 오류) // - 403 : [993] Yon do not have authorization. (인증 오류) // - 405 : [995] 요청된 메소드는 권한이 없습니다. (POST / GET 등 메소드 오류) // - 406 : [2000]~[5000] 오류 상세 메시지 (비즈니스 로직 처리중 오류 발생) // - 500 : [999] Internal server error (System 오류) //----------------------------------------------------------------------------------------- // 요청 처리 성공인 경우 // Response Parameters (성공시) : token, online_url, mobile_url HttpWebResponse objWResponse = (HttpWebResponse)objWRequest.GetResponse(); StreamReader objStreamReader = new StreamReader(objWResponse.GetResponseStream(), Encoding.GetEncoding("utf-8")); string strResponse = objStreamReader.ReadToEnd(); var JsonDeseReponse = JsonConvert.DeserializeObject <POQResp>(strResponse); objStreamReader.Close(); objWResponse.Close(); // 로그 입력 objCashDao.InsertPGLog(objTPGPayLogMst); return(Json(JsonDeseReponse)); } // 성공이 아닌 경우 // Response Parameters (실패시) : code, message catch (WebException ex) { using (var stream = ex.Response.GetResponseStream()) using (var reader = new StreamReader(stream)) { return(Json(reader)); } } }