Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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));
                    }
            }
        }