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