Magento несколько шлюзов Authorize.net

У меня есть учетные записи шлюза CAD и USD для обработки платежей по кредитным картам, оба от поставщика платежей с поддержкой API Authorize.net. Я успешно настроил один, используя встроенную поддержку Authorize.net в Magento... но как мне настроить второй шлюз Authorize.net для использования в моем магазине?


person balleyne    schedule 22.10.2010    source источник


Ответы (2)


Вы можете повторно использовать существующий шлюз authorize.net, если вы назначите отдельные веб-сайты для каждой валюты. На самом деле они не должны быть отдельными веб-сайтами с собственным доменом, просто они должны быть обозначены как веб-сайты в меню «Система»> «Управление магазинами». Затем в разделе «Конфигурация» измените раскрывающийся список «Область конфигурации» в левом верхнем углу, чтобы выбрать каждый веб-сайт по очереди, в разделе «Настройка валюты» разрешите только одну валюту, а в разделе «Способы оплаты» вы можете указать свои конкретные учетные записи шлюза.

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

person clockworkgeek    schedule 24.10.2010
comment
Ах, это кажется лучшей идеей, чем я думал. Я думаю, что мы на самом деле будем использовать некоторые другие домены, которые у нас есть (у нас есть .com и .ca...), но для этого мне нужно получить соответствующие SSL-сертификаты. Однако большое спасибо за ответ, это звучит правильно. - person balleyne; 26.10.2010
comment
Поскольку у вас уже есть домен .ca, имеет смысл воспользоваться им. Удачи. - person clockworkgeek; 27.10.2010
comment
это гораздо лучшее решение, чем мое - хорошее решение @clockworkgeek - person Jonathan Day; 27.10.2010
comment
Будет ли использование этого метода также требовать от вас реализации переключателя веб-сайтов, чтобы каждая группа клиентов могла оформить заказ, используя правильный веб-сайт для своей валюты? - person MarcGuay; 19.03.2015
comment
@MarcGuay да. Если вы сделаете то же, что и Balleyne, и у вас будут разные домены, то каждый клиент (надеюсь) уже будет на правильном веб-сайте. - person clockworkgeek; 20.03.2015

Это можно сделать, но в основном требуется, чтобы вы продублировали модуль Authorize и изменили все пространства имен. Это потребует некоторой возни, но начните с копирования модуля app/code/core/Mage/Paygate куда-нибудь вроде app/code/local/Yourcompany/Paygatecad и приступайте к переименованию классов (Mage_Paygate_Model_Authorizenet становится Yourcompany_Paygatecad_Model_Authorizenet и т. д.). Будьте осторожны с именами файлов и классов, чувствительными к регистру, я предлагаю вам использовать все заглавные буквы, за которыми следуют строчные буквы.

Создайте объявление модуля Yourcompany_Paygatecad.xml в app/etc/modules и продублируйте файлы макета и шаблона в adminhtml и frontend, чтобы использовать новое имя модуля. Вам также потребуется отредактировать system.xml и config.xml, чтобы значения конфигурации не конфликтовали в пространстве имен. grep твой друг.

После всего этого вы должны получить новый метод оплаты в меню «Система»> «Конфигурация»> «Способы оплаты», который вы можете настроить с помощью ваших данных CAD, а блоки должны отображаться в потоке оформления заказа.

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

--------РЕДАКТИРОВАТЬ-----

В идеале вам следует скопировать и изменить только файлы etc и sql. Таким образом, исходные Mage_Paygate моделей и контроллеров будут по-прежнему использоваться (обеспечивает наилучшую защиту для обновлений/исправлений), и вы просто обновляете значения конфигурации, чтобы они указывали на экземпляр CAD. Я не могу подтвердить, сработает ли это, но я бы попробовал, если это вообще возможно.

ХТХ, JD

person Jonathan Day    schedule 23.10.2010
comment
Спасибо, это именно то, о чем я просил, но я думаю, что решение clockworkgeek, вероятно, имеет больше смысла, чем то, о чем я думал. - person balleyne; 26.10.2010