Как получить ответ в реализации First Data Payment Gateway
Я пытаюсь внедрить First Data Payment Gateway на моем сайте asp.net.
Я сделал все, теперь я могу перенаправить на https://checkout.globalgatewaye4.firstdata.com/payment и оплата выполнена, но затем FirstData перенаправляет на мой сайт на странице Result.aspx.
На этой странице я могу узнать, что платеж выполнен успешно, произошла какая-либо ошибка и т. Д. Я знаю, что он отправляет код ответа методом POST, но когда он попадает на мою веб-страницу, он выдает ошибку типа
Ошибка сервера в приложении '/'
Проверка MAC представления состояния не удалась. Если это приложение размещено на веб-ферме или в кластере, убедитесь, что в конфигурации указаны одинаковые validationKey и алгоритм проверки. Автогенерация не может использоваться в кластере.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Web.HttpException: не удалось проверить MAC состояния представления. Если это приложение размещено на веб-ферме или в кластере, убедитесь, что в конфигурации
Любая помощь...
Заранее спасибо..
2 ответа
Я хочу поделиться тем, что я сделал, но другие предложения будут оценены..:
У меня такая ошибка, и я даже не могу Page_Load
Событие.
Итак, я просто создал одну новую страницу и перенаправил на эту страницу в Page_Init
Событие.
У меня не было никогда Page_Init
Событие таким образом раньше. Я даже не знаю, логично это или нет. Но это может быть временным решением.
я могу получить Parameters
отправлено в POST
метод в Page_Init
Событие (я не знаю, почему там не выдается никакой ошибки), я просто включил их все в сеанс и перенаправил страницу.
Это было решено в настоящее время.
Мои друзья и я называем это ошибкой ViewState смерти. В основном эта ошибка может быть вызвана огромным разнообразием вещей.
На тот случай, если вам действительно нужно позаботиться о настройках ключа машины. Я бы сначала просмотрел следующий список:
1) проверьте файл web.config и убедитесь, что для вашего ключа машины не задано значение AutoGenerate.
2) Если вы не используете автогенерацию, перейдите в IIS и сгенерируйте ключ, а затем вставьте его в файл web.config, чтобы проверить, устранит ли это проблему временно. (это не очень хорошее долгосрочное решение, но оно может помочь вам продолжать прогрессировать, одновременно работая над долгосрочным решением).
3) Наконец, в любом случае, пройдите через элементы управления, которые вы используете, и посмотрите, используют ли они состояние просмотра. Если они это сделают, попробуйте отключить его для всех ваших элементов управления. ЕСЛИ это исправляет, то возникает какая-то ошибка, когда ваше приложение пытается десериализовать данные состояния просмотра. Я обнаружил, что это проблема при попытке загрузить страницу с отдельного веб-сайта, что похоже на то, что вы делаете.
Если вы обнаружите, что отключение view state решает вашу проблему, я не уверен в хорошем обходном пути, если вам нужно продолжать использовать view state.