protected void BtnPayBoxCancel_Click(object sender, EventArgs e) { CreateToken createToken = new CreateToken(); createToken.PartnerAPIId = PARTNER_API_ID; createToken.PartnerAPIKey = PARTNER_API_KEY; string errMsg = string.Empty; StringBuilder sbHtml = new StringBuilder(); //API 통신 토큰 생성 string token = PayBoxModule.CreateToken(CREATE_TOKEN_URL, createToken, out errMsg); if (string.IsNullOrEmpty(token)) { sbHtml.Append("<script>alert('" + errMsg + "'); self.close();</script>"); Response.Write(sbHtml.ToString()); return; } RequestCancelPayment requestCancelPayment = new RequestCancelPayment(); requestCancelPayment.CancelType = Convert.ToInt32(Cancel_Type.Text.Trim()); requestCancelPayment.TransactionId = TransactionId.Text.Trim(); requestCancelPayment.TransAmount = Convert.ToDouble(TransAmount.Text.Trim()); //결제 취소 통신 ReeponseCancelPayment reeponseCancelPayment = PayBoxModule.CacenlPayment(CANCEL_PAYMENT_URL, token, requestCancelPayment, out errMsg); if (reeponseCancelPayment == null) { sbHtml.Append("<script>alert('" + errMsg + "'); self.close();</script>"); Response.Write(sbHtml.ToString()); return; } sbHtml.Append("<script>alert('" + string.Format("{0}/{1}/{2}/{3}/{4}", reeponseCancelPayment.Data.ResultCode , reeponseCancelPayment.Data.ResultMessage , reeponseCancelPayment.Data.ResultNMessage , reeponseCancelPayment.Data.TransactionId , reeponseCancelPayment.Data.CancelDataTime) + "');self.close();</script>"); Response.Write(sbHtml.ToString()); }
public static ReeponseCancelPayment CacenlPayment(string requestUrl, string token, RequestCancelPayment requestCancelPayment, out string errorMsg) { errorMsg = string.Empty; ReeponseCancelPayment reeponseCancelPayment = null; string data = JsonConvert.SerializeObject(requestCancelPayment); byte[] byteDataParams = UTF8Encoding.UTF8.GetBytes(data.ToString()); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl); request.Headers.Add("Authorization", token); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = byteDataParams.Length; Stream stDataParams = request.GetRequestStream(); stDataParams.Write(byteDataParams, 0, byteDataParams.Length); stDataParams.Close(); try { HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse(); Stream webStream = webResponse.GetResponseStream(); StreamReader responseReader = new StreamReader(webStream, System.Text.Encoding.UTF8); reeponseCancelPayment = JsonConvert.DeserializeObject <ReeponseCancelPayment>(responseReader.ReadToEnd()); responseReader.Close(); } catch (WebException e) { using (WebResponse response = e.Response) { HttpWebResponse httpResponse = (HttpWebResponse)response; using (Stream errorData = response.GetResponseStream()) using (StreamReader errorReader = new StreamReader(errorData)) { string errorText = errorReader.ReadToEnd(); Console.WriteLine("--------Error---------"); Console.WriteLine("Error code: {0}", httpResponse.StatusCode); Console.WriteLine("Error Msg: {0}", errorText); ErrorResult errorResult = JsonConvert.DeserializeObject <ErrorResult>(errorText); errorMsg = errorResult.Error.Detail; } } return(reeponseCancelPayment); } return(reeponseCancelPayment); }