public RefundData getRefund(string payment_id, string payment_date, string payment_time) { RefundData refund_data = new RefundData(); string sql = "Select * From REFUND_DATA Where PAYMENT_ID='" + payment_id + "' And PAYMENT_DATE='" + payment_date + "' And PAYMENT_TIME='" + payment_time + "'"; ConnectDB db = new ConnectDB(); SqlDataSource oracleObj = db.ConnectionOracle(); try { oracleObj.SelectCommand = sql; DataView allData = (DataView)oracleObj.Select(DataSourceSelectArguments.Empty); foreach (DataRowView rowData in allData) { refund_data.Academic_Year = rowData["ACADEMIC_YEAR"].ToString(); refund_data.Semester = rowData["SEMESTER"].ToString(); refund_data.Payment_ID = rowData["PAYMENT_ID"].ToString(); refund_data.Payment_Date = rowData["PAYMENT_DATE"].ToString(); refund_data.Payment_Time = rowData["PAYMENT_TIME"].ToString(); refund_data.Student_ID = rowData["STUDENT_ID"].ToString(); refund_data.Nation_ID = rowData["NATION_ID"].ToString(); refund_data.Refund_Amount = Convert.ToInt32(rowData["REFUND_AMOUNT"].ToString()); refund_data.Refund_Date = rowData["REFUND_DATE"].ToString(); refund_data.Refund_Time = rowData["REFUND_TIME"].ToString(); refund_data.Refund_By = rowData["REFUND_BY"].ToString(); } } catch { HttpContext.Current.Session["response"] = "Unit Test:Refund:getRefund" + " ไม่สามารถดำเนินการได้"; HttpContext.Current.Response.Redirect("err_response.aspx"); } return(refund_data); }
public string insertRefund(RefundData refund_data) { string response = ""; ConnectDB db = new ConnectDB(); SqlDataSource oracleObj = db.ConnectionOracle(); string sql = "Insert Into Refund_Data(ACADEMIC_YEAR,SEMESTER,PAYMENT_ID,PAYMENT_DATE,PAYMENT_TIME,STUDENT_ID,NATION_ID,REFUND_AMOUNT,REFUND_DATE,REFUND_TIME,REFUND_BY) Values('" + refund_data.Academic_Year + "','" + refund_data.Semester + "','" + refund_data.Payment_ID + "','" + refund_data.Payment_Date + "','" + refund_data.Payment_Time + "','" + refund_data.Student_ID + "','" + refund_data.Nation_ID + "','" + refund_data.Refund_Amount + "','" + refund_data.Refund_Date + "','" + refund_data.Refund_Time + "','" + refund_data.Refund_By + "')"; try { oracleObj.InsertCommand = sql; if (oracleObj.Insert() == 1) { response = "OK"; } } catch { HttpContext.Current.Session["response"] = "Unit Test:Student:insertStudentInformation" + " ไม่สามารถดำเนินการได้"; HttpContext.Current.Response.Redirect("err_response.aspx"); } return(response); }
public RefundResponse Refund(string originalPaymentReference, double amount, string message, string refundCallbackUrl) { try { var requestData = new RefundData() { originalPaymentReference = originalPaymentReference, callbackUrl = refundCallbackUrl, payerAlias = _payeeAlias, amount = amount.ToString(), currency = "SEK", message = message }; HttpClientHandler handler; HttpClient client; PrepareHttpClientAndHandler(out handler, out client); var httpRequestMessage = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri(_baseAPIUrl + "/swish-cpcapi/api/v1/refunds"), Content = new StringContent(JsonConvert.SerializeObject(requestData), Encoding.UTF8, "application/json") }; var response = client.SendAsync(httpRequestMessage).Result; string errorMessage = string.Empty; string Location = string.Empty; if (response.IsSuccessStatusCode) { var headers = response.Headers.ToList(); if (headers.Any(x => x.Key == "Location")) { Location = response.Headers.GetValues("Location").FirstOrDefault(); } } else { var readAsStringAsync = response.Content.ReadAsStringAsync(); errorMessage = readAsStringAsync.Result; } client.Dispose(); handler.Dispose(); return(new RefundResponse() { Error = errorMessage, Location = Location }); } catch (Exception ex) { return(new RefundResponse() { Error = ex.ToString(), Location = "" }); } }
public static Task <Dictionary <string, object> > Refund(RefundData refundData) { return(Refund(refundData.AsParams())); }
public RefundResponse Refund(string originalPaymentReference, double amount, string message, string refundCallbackUrl) { try { var refundData = new RefundData() { originalPaymentReference = originalPaymentReference, callbackUrl = refundCallbackUrl, payerAlias = _payeeAlias, amount = amount.ToString(), currency = "SEK", message = message }; // Create a RestSharp RestClient objhect with the base URL var client = new RestClient(_baseAPIUrl); // Create a request object with the path to the payment requests var request = new RestRequest("swish-cpcapi/api/v1/refunds"); // Create up a client certificate collection and import the certificate to it X509Certificate2Collection clientCertificates = new X509Certificate2Collection(); clientCertificates.Import(_certDataBytes, _certificatePassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet); // Add client certificate collection to the RestClient client.ClientCertificates = clientCertificates; // Add payment request data request.AddJsonBody(refundData); var response = client.Post(request); var content = response.Content; // "[{\"errorCode\":\"PA01\",\"errorMessage\":null,\"additionalInformation\":null}]" if (!response.IsSuccessful) { return(new RefundResponse() { Error = content, Location = "" }); } else { string location = response.Headers.ToList().Find(x => x.Name == "Location").Value.ToString(); return(new RefundResponse() { Error = "", Location = location }); } } catch (Exception ex) { return(new RefundResponse() { Error = ex.ToString(), Location = "" }); } }
public async Task Index() { try { var data = new Dictionary <string, object>(); Request.Form.CopyTo(data); var amount = long.Parse(Request.Form.Get("amount")); var zptransid = Request.Form.Get("zptransid"); var description = Request.Form.Get("description"); var refundData = new RefundData(amount, zptransid, description); var result = await ZaloPayHelper.Refund(refundData); var returncode = int.Parse(result["returncode"].ToString()); if (returncode >= 1) { while (true) { var refundStatus = await ZaloPayHelper.GetRefundStatus(refundData.Mrefundid); var c = int.Parse(refundStatus["returncode"].ToString()); if (c < 2) { if (c == 1) { using (var db = new ZaloPayDemoContext()) { db.Refunds.Add(new Models.Refund { Amount = refundData.Amount, Zptransid = refundData.Zptransid, Mrefundid = refundData.Mrefundid }); db.SaveChanges(); } } Session["refundResult"] = refundStatus; break; } System.Threading.Thread.Sleep(1000); } } else { Session["refundResult"] = result; } } catch (Exception ex) { var result = new Dictionary <string, object>(); result["returncode"] = -1; result["returnmessage"] = "Exception: " + ex.Message; Session["refundResult"] = result; } Response.Redirect("/History"); }