ASP.NET MVC: запуск действия перед отправкой на платежный шлюз Paypal - PullRequest
1 голос
/ 11 мая 2010

Я нахожусь в процессе разработки сайта электронной коммерции, использующего Paypal в качестве шлюза для платежей. Все, что я хочу сделать, это запустить некоторый код, прежде чем пользователь отправится в Paypal, чтобы оплатить свой заказ, но я понятия не имею, как это сделать.

Пользователь должен нажать кнопку отправки, изменения будут внесены (в данном случае это статус заказа), а затем пользователь будет перенаправлен на платежный шлюз. Например:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GoToPaypal(FormCollection collection)
{
    //change order status

    //send user to paypal where they pay for their order
}

Итак, мой вопрос: как вы работаете с приложениями и затем перенаправляете на платежный шлюз PayPal? Пример HTML и C # был бы прекрасен:)

Примечание: Кажется, у этого парня та же проблема - (и, вероятно, объясняет это лучше).

Ответы [ 2 ]

3 голосов
/ 13 мая 2010

Вы можете отправить POST PayPal из вашего метода действия, но будет трудно показать пользователю ответ. Кроме того, вы хотите перевести пользователей на сайт PayPal без использования запроса GET (GET предоставляет параметры в строке URL-адреса, и Paypal, вероятно, не принимает запрос GET).


Насколько я понимаю, у вас есть форма с некоторыми полями, которая отправляет сообщения в PayPal. Перед отправкой формы в Paypal необходимо захватить поля формы, выполнить с ней некоторую обработку, а затем разрешить им публиковать в PayPal.

Один из способов сделать это с помощью jQuery. Вы подключаете событие отправки

http://api.jquery.com/submit/

Когда нажата кнопка submit, в обработчике события для отправки, которую вы создали выше, сделайте ajax-вызов с полями формы, необходимыми для вашего действия MVC. http://api.jquery.com/jQuery.post/

Выполните обработку и отправьте ответ.

Когда страница получает ответ ajax, при необходимости измените поля формы, полученные из ответа ajax.

Наконец, используйте jQuery для отправки формы.

==

1 голос
/ 11 мая 2010

Вы имеете в виду перенаправление на PayPal, после того как вы закончите делать то, что вы хотите сделать?

// run some code
// 
// go to paypal
return RedirectResult("http://paypal.com/blah");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...