示例#1
0
        public JsonResult MoneyIn(MoneyInModel amountData)
        {
            var result = new JSONResult();

            try
            {
                if (amountData.IsValidAmount())
                {
                    var newOrder = new OrderTopBalanceModel()
                    {
                        OrderId   = Guid.NewGuid().ToString(),
                        UserId    = AuthWrapper.GetUserIdByLogin(User.Identity.Name),
                        Amount    = amountData.Amount,
                        OrderDate = DateTime.Now,
                        Status    = StatusOrder.InProgress
                    };

                    DataWrapper.AddNewOrderTopBalance(newOrder);
                    var d = FreeKassa.GetUrlCash(newOrder);
                    result.SetIsSuccess(FreeKassa.GetUrlCash(newOrder));
                }
                else
                {
                    result.SetNotSuccess(ErrorMessages.IncorrectAmount);
                }
            }
            catch (Exception ex)
            {
                result.SetNotSuccess(ErrorMessages.UnknownError);
                logger.Error("Method MoneyIn: ", ex);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        private static string GetMd5HashHelper(OrderTopBalanceModel order, string secret)
        {
            var str = $"{FreeKassa.STORE_ID}:{order.Amount}:{secret}:{order.OrderId}";

            using (MD5 md5Hash = MD5.Create())
            {
                return(GetMd5Hash(md5Hash, str));
            }
        }
示例#3
0
        public static string GetUrlCash(OrderTopBalanceModel order)
        {
            var storeId   = string.Format("m={0}&", STORE_ID);
            var amountStr = string.Format("oa={0}&", order.Amount);
            var orderId   = string.Format("o={0}&", order.OrderId);
            var sign      = string.Format("s={0}", order.GetSignatureMoneyIn());
            var resultUrl = string.Format("{0}{1}{2}{3}{4}", URL_CASH, storeId, amountStr, orderId, sign);

            return(resultUrl);
        }
示例#4
0
        public static void SendToCard(OrderTopBalanceModel order)
        {
            var currency  = string.Format("currency={0}&", "card");
            var storeId   = string.Format("merchant_id={0}&", STORE_ID);
            var sign      = string.Format("s={0}&", order.GetSignatureOrderNotify());
            var action    = "action=payment&";
            var amountStr = string.Format("amount={0}", order.Amount);
            var resultUrl = string.Format("{0}{1}{2}{3}{4}", URl_MONEY_OUT, currency, storeId, sign, action, amountStr);

            var resultGet = GET(resultUrl);
        }
示例#5
0
        public static bool AddNewOrderTopBalance(OrderTopBalanceModel order)
        {
            var success = false;

            try
            {
                using (var db = new OrderTopBalanceContext())
                {
                    db.Orders.Add(order);
                    db.SaveChanges();
                    success = true;
                }
            }
            catch (Exception e)
            {
                success = false;
            }

            return(success);
        }
示例#6
0
 public static string GetSignatureOrderNotify(this OrderTopBalanceModel order)
 {
     return(GetMd5HashHelper(order, FreeKassa.SICRET2));
 }