コード例 #1
0
        public IActionResult MellatResponse(string RefId = "", string ResCode = "", string SaleOrderId = "", string SaleReferenceId = "")
        {
            try
            {
                order order = this.repository.GetOrder(Int32.Parse(SaleOrderId));
                //repository.AddLogToOrder(order, "MellatResponse rescode=" + ResCode + "&saleorderid=" + SaleOrderId + "&SaleReferenceId=" + SaleReferenceId);

                if (ResCode != "0")
                {
                    throw new Exception(Mellat.TranslateMessage(ResCode));
                }

                this.mellatService.VerifyResult(order, SaleReferenceId);
                this.repository.SetOrderBankReference(order, SaleReferenceId);
                this.repository.ChangeOrderStatus(order, (int)orderStatuses.payed);

                //try
                //{
                //    this.mellatService.SettleRequest(order);
                //}
                //catch (Exception ex)
                //{
                //    //AddMessage(ex.Message, "Info");
                //}
                this.hookManager.HookFired("orderCompleted", order.user, order);
                this.hookManager.HookFired("paymentCompleted", order.user, order);
                return(View("Completed", order));
            }
            catch (Exception ex)
            {
                return(View("error", ex.Message));
            }
        }
コード例 #2
0
        public MellatService(repository repository, IHttpContextAccessor httpContextAccessor)
        {
            this.repository          = repository;
            this.httpContextAccessor = httpContextAccessor;

            Mellat = new Mellat
            {
                terminalId = Int64.Parse(this.repository.GetSetting("mellatTerminalId")),
                userName   = this.repository.GetSetting("mellatUserName"),
                password   = this.repository.GetSetting("mellatPassword")
            };
        }