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}")); }