404 - это когда ваше действие не найдено. Возможно, ваш ChallengeResponse
в порядке, но проблема в редиректе. Чтобы точно определить проблему, выполните следующие действия:
В вашем действии после следующей строки:
var returnData = _challengePaymentAuthorisationService.PaymentAuthorization("WorldPay", model.TransactionId);
// Запишите журнал в текстовый файл, чтобы мы знали нет никаких проблем с действием, и модель также не нулевая. Вы можете использовать следующий блок кода для записи журналов:
string filepath = context.Current.Server.MapPath("~/ExceptionDetailsFile/");
if (!Directory.Exists(filepath))
{
Directory.CreateDirectory(filepath);
}
filepath = filepath + DateTime.Today.ToString("dd-MM-yy") + ".txt"; //Text File Name
if (!File.Exists(filepath))
{
File.Create(filepath).Dispose();
}
using (StreamWriter sw = File.AppendText(filepath))
{
string error = "Log Written Date:" + " " + DateTime.Now.ToString();
sw.WriteLine("-----------Log on " + " " + DateTime.Now.ToString() + "-");
sw.WriteLine("--------------------------------------------------------");
sw.WriteLine(error);
sw.WriteLine("--------------------------------*End*------------------");
sw.Flush();
sw.Close();
}
Если действие в порядке, то вместо следующего кода:
return new RedirectResult("/");
Пишите так:
return Redirect("~/");