static void Main(string[] args) { try { bool isSuccess = false; string PayUMoneyURL = "https://test.payu.in/merchant/postservice.php?form=2"; //Configurations.AppSettings.PayU_URL + "refundPayment"; RefundRQ req = new RefundRQ(); req.merchantKey = "gtKFFx"; req.paymentId = "40399371550994501023456789012334hytrder"; req.refundAmount = 500M; RefundTicketPost refundTicketPost = GetRefundParameters(req); byte[] dataToPost = GetPostBytes(refundTicketPost); HttpWebRequest postRequest = (HttpWebRequest)WebRequest.Create(PayUMoneyURL); postRequest.Method = "POST"; postRequest.ContentType = "application/json"; postRequest.ContentLength = dataToPost.Length; Stream st = postRequest.GetRequestStream(); st.Write(dataToPost, 0, dataToPost.Length); st.Close(); HttpWebResponse postResponse = (HttpWebResponse)postRequest.GetResponse(); if (postResponse.StatusCode == HttpStatusCode.OK) isSuccess = true; else isSuccess = false; // For testing only Stream stream1 = postResponse.GetResponseStream(); StreamReader sr = new StreamReader(stream1); string strsb = sr.ReadToEnd(); } catch (Exception) { throw; } }
private static RefundTicketPost GetRefundParameters(RefundRQ req) { RefundTicketPost refundTicketPost = new RefundTicketPost(); refundTicketPost.command = "cancel_refund_transaction"; string salt = "eCwWELxi"; refundTicketPost.var1 = req.paymentId; refundTicketPost.var3 = req.refundAmount.ToString(); refundTicketPost.key = req.merchantKey; string hash = GetHashString(req.merchantKey, refundTicketPost.command, refundTicketPost.var1, salt); refundTicketPost.hash = Generatehash512(hash).ToLower(); refundTicketPost.var2 = refundTicketPost.hash.Substring(0, 20); return refundTicketPost; }