public async Task <ActionResult> AfterPayment() { string Message = ""; try { var payment = new Payment(); var obj = new Payment.ResultPayment(); obj.status = int.Parse(Request.Params["status"]); obj.track_id = Request.Params["track_id"]; obj.id = Request.Params["id"]; obj.order_id = Request.Params["order_id"]; obj.amount = decimal.Parse(Request.Params["amount"]); obj.card_no = Request.Params["card_no"]; obj.hashed_card_no = Request.Params["hashed_card_no"]; obj.date = double.Parse(Request.Params["date"]); if (!obj.IsOK) { ViewBag.ID = obj.id; ViewBag.OrderID = obj.order_id; Message = obj.Message; } else { // تایید تراکنش var res = await payment.VerifyPayment(obj); if (res is Payment.PaymentInfo) { var tmp = (Payment.PaymentInfo)res; Message = tmp.Message; ViewBag.ID = tmp.id; ViewBag.OrderID = tmp.order_id; } else { Message = ((Payment.RequestRespons_Fail)res).error_message; } } } catch (Exception ex) { Message = ex.Message; } ViewBag.Message = Message; return(View()); }
public async Task <IActionResult> CallBack(int status, int track_id, string id, string order_id) { var serviceResult = new Utility.ServiceResult <string>(true); try { var payment = new Payment(_httpClientFactory.CreateClient()); var obj = new Payment.ResultPayment(); obj.status = status; obj.track_id = track_id.ToString(); obj.id = id; obj.order_id = order_id; if (!obj.IsOK) { serviceResult.AddError("پرداختی صورت نگرفت"); } else { // تایید تراکنش var res = await payment.VerifyPayment(obj); if (res is Payment.PaymentInfo) { var tmp = (Payment.PaymentInfo)res; await _userService.SuccessPayment(int.Parse(order_id)); serviceResult.Data = order_id; } else { var errorMessage = ((Payment.RequestRespons_Fail)res).error_message; serviceResult.AddError(errorMessage); } } } catch (System.Exception ex) { serviceResult.AddError(ex.Message); } return(View(serviceResult)); }