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);
    }
Пример #2
0
    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());
    }