в Magento, Как сделать способ оплаты, который отправляет переменные POST на внешний URL-адрес? - PullRequest
2 голосов
/ 26 января 2010

Мне нужно создать собственный метод оплаты, который получает некоторые переменные из заказа клиента и отправляет их в качестве переменных POST на внешний URL-адрес.

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

Я искал информацию и учебные пособия, но я все еще чувствую себя немного смущенным, я практически новичок в программировании на magento, поэтому я был бы очень признателен, если бы кто-то мог дать пошаговое объяснение или, по крайней мере ссылка на учебник

Спасибо

Ответы [ 2 ]

3 голосов
/ 26 января 2010

Так работает Paypal, поэтому включенный модуль для этого будет хорошей отправной точкой, но в основном:

  • у вас есть метод в вашем классе Payment, который сообщает Magento, что этот метод подходит для ордера (это позволяет вам использовать разные методы для разных сумм ордеров или валют и т. Д., Но вы можете просто вернуть 'true') )

  • если есть какие-то биты информации, которые вам понадобятся для захвата, которые Magento иначе не сделает, вы устанавливаете шаблон / блок для своей формы, и это отображается, когда клиент выбирает ваш метод (Paypal не имеет такая форма)

  • вы реализуете метод авторизации, который выполняет любую обработку деталей заказа

  • вы реализуете метод getRedirectUrl, который возвращает URL для magento, чтобы перенаправить пользователя тоже. Если вам нужно отправить сообщение на ваш шлюз, тогда ваш редирект будет на локальный URL (скажем, /redirect.php), и здесь у вас будет форма со скрытыми полями и некоторый javascript, который автоматически отправит ее (вы можете прикрепить loading-gif, если хотите), который приведет пользователя к шлюзу. *

  • если вы предоставите URL шлюзу для отправки клиента обратно (вы обычно делаете это ...), то вам также понадобится страница там, которая выполняет любую очистку / проверку заказа перед тем, как перенаправление клиента на страницу подтверждения заказа

(* вы можете сделать это в качестве контроллера и шаблона в magento, если хотите (немного аккуратнее), но объяснение, как это сделать, займет немного больше времени, чем у меня)

1 голос
/ 17 января 2012
...