Как сделать возврат с параметрами в представлении c# asp .net mvc?

Извините за название, но не знаю, как объяснить. (.NET ASP MVC) Итак, я пытаюсь создать запрос на оплату через API TripleA (перенаправление на их страницу), если платеж будет успешным, они будут перенаправлены на мою страницу успеха с некоторыми параметрами, как я могу обрабатывать эти параметры?

Что я пробовал:

public IActionResult ErrorPage(string payment_reference, string status)
        {
            return View(payment_reference,status);
        }

https://developers.triple-a.io/docs/triplea-api-doc/dd286311a5afc-make-a-payment-request (прокрутите вниз до Success_url для получения дополнительной информации)

Создайте класс, который представляет всю информацию, которую вы хотите передать обратно в представление в качестве его модели.

Steve 15.11.2022 22:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
86
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Чтобы расширить комментарий Стива, создайте запись (меньше кода, чем класс) следующим образом...

public record ErrorViewModel(string PaymentReference, string Status);

... затем используйте это, когда вы отправляете данные в представление...

public IActionResult ErrorPage(string payment_reference, string status)
        {
            return View(new ErrorViewModel(payment_reference,status));
        }

Вам нужно будет обновить свой вид, чтобы следующая строка была вверху...

@model ErrorViewModel

Это должно быть все, что вам нужно.

Основываясь на документации, вы ожидаете такой запрос,

https://www.myshop.com/payment-success?status=paid&payment_reference=ASDDF...&order_currency=USD&order_amount=10

И вы переводите это в метод контроллера,

[HttpGet("payment-success")]
public IActionResult ResultPage(string payment_reference, string status, string order_currency, decimal order_amount)
{
   var result = new ResultViewModel(payment_reference,status, order_currency, order_amount); 
   return View(result);
}

Я также заметил, что док говорит,

Примечание. Это поле является обязательным при интеграции с использованием формы оплаты по внешнему URL. Для других интеграций либо вставьте поле с URL-адресом, либо полностью удалите поле.

Поэтому, если вы используете интеграцию формы оплаты с внешним URL-адресом, я не думаю, что вы сможете получить статус и ссылку.

То же самое относится и к cancel_url.

Другие вопросы по теме