Exemplo n.º 1
0
        public IActionResult ProlongService(string userEmail, string userId, string proType)
        {
            if (!string.IsNullOrWhiteSpace(userId) && !string.IsNullOrWhiteSpace(proType) && !string.IsNullOrWhiteSpace(userEmail))
            {
                HttpContext.Session.SetString("Message", $"Сервис успешно продлен для {userEmail}");
                usersService.AddProlongationPayment(userId, 0.00, proType, "Сервис продлен администрацией");
            }
            else
            {
                HttpContext.Session.SetString("Message", "Нехватает данных для продления");
            }

            return(RedirectToAction(nameof(AdminController.Users)));
        }
        public IActionResult ResultUrl(string IncSum, string OutSum, string InvId, string SignatureValue, string Shp_id, string Shp_type)
        {
            if (!string.IsNullOrWhiteSpace(SignatureValue))
            {
                var sMrchPass2 = infoOptions.Value.Robokassa.Pass2;

                string sCrc = TextUtilites.MD5Hash($"{OutSum}:{InvId}:{sMrchPass2}:Shp_id={Shp_id}:Shp_type={Shp_type}");

                if (sCrc.ToLower() == SignatureValue.ToLower())
                {
                    double dOutSum;

                    if (double.TryParse(OutSum, NumberStyles.Number, CultureInfo.InvariantCulture, out dOutSum))
                    {
                        double dIncSum;
                        var    sIncSum = IncSum;
                        if (double.TryParse(IncSum, NumberStyles.Number, CultureInfo.InvariantCulture, out dIncSum))
                        {
                            sIncSum = dIncSum.ToString("0.00", CultureInfo.InvariantCulture);
                        }
                        usersService.AddProlongationPayment(Shp_id, dOutSum, Shp_type, $"Robokassa: сумма с комиссией {sIncSum}");
                        smsService.SendSms(infoOptions.Value.SmsNotifyPhone, $"Payment: {dOutSum.ToString("0.00", CultureInfo.InvariantCulture)}");
                    }
                    else
                    {
                        logger.Error($"Invalid OutSum on payment: {OutSum}");
                    }
                }
                else
                {
                    logger.Error($"Invalid payment: [{OutSum}:{InvId}:[PASS2]:Shp_id={Shp_id}:Shp_type={Shp_type}] <> {SignatureValue}");
                }
            }

            return(Content($"OK{InvId}"));
        }