Создание своего платёжного драйвера
Создание
платёжного драйвера:
- Если
есть уже готовый драйвер платёжной
системы для Amiro CMS,
папку, содержащую его файлы необходимо поместить в _local/eshop/pay_drivers/.
- Если
требуется создать собственный драйвер,
необходимо скопировать драйвер-пустышку (_local/eshop/pay_drivers/example/) и настроить PHP
класс и шаблоны на работу с нужной платёжной системой. Папка платёжного
драйвера состоит из файлов:
- driver.php– функционал драйвера. Драйвер-пустышка содержит все методы, вызываемые системой с описанием их работы. Порядок вызова методов при оплате следующий:
- getPayButton – вызывается при создании кнопки оплаты на странице оформления заказа. Все необходимые манипуляции с полями формы проводятся в этом методе. Данные собираются в массив $aData. Здесь же в случае необходимости заполняется элемент $aData[“hiddens”]. См. сет checkout_form шаблона driver.tpl.
- getPayButtonParams
– вызывается на следующей после оформления заказа странице по уже выбранному
типу платежа. Обычно содержит форму-авторедирект на платёжную систему. Здесь же
можно поставить необходимый сбор данных перед отправкой на платёжную систему.
- payProcess
– вызывается при возврате пользователя с платёжной системы на специальный URL. Метод
содержит проверку данных перед выставлением статуса accepted.
- payCallback – вызывается при запросе платёжной системой gate_example.php из папки drivers для подтверждения платежа. Метод содержит проверку данных перед выставлением статуса confirmed.
- getProcessOrder – возврат номера
заказа по указанными GET или POST данным.
- onPaymentConfirmed - выполнение необходимых действий после подтверждения платежа при запросе платёжной системы.
- Вспомогательные методы:
getOrderIdVarName - возвращает имя переменной в которой передаётся номер заказа в запросе платёжной системы.
- gate_example.php – файл подключаемый в /drivers/gate_example.php. Скрипт /drivers/gate_example.php используется для вызовов со стороны платёжной системы. Файл /_local/eshop/pay_drivers/example/gate_example.php может содержать необходимый функционал для обработки/проверки данных поступающих от платёжной системы.
-
driver.tpl – шаблоны драйвера, используемые в
различных местах:
- settings_form
– форма настройки драйвера в интерфейсе администратора. Поля формы будут
сериализованы и сохранены как массив, который в дальнейшем будет
предоставляться для методов построения кнопки и проверки пришедших данных.
- checkout_form
– кнопка оплаты на странице оформления заказа.
- pay_form
– форма, отображающаяся после выбора текущего драйвера для оплаты. Обычно –
авторедирект.
- driver.lng – языковые переменные для шаблона driver.tpl. Так
же содержит переменную driver_title, которая используется системой для обозначения
драйвера.
-
Для
подключения и настройки драйвера необходимо:
- В
интерфейсе «Сервис : Настройки системы : Платёжные системы» установить драйвер.
- Открыть
его на редактирование и внести необходимые данные.
- В
настройке «Каталог товаров : Заказы» подключить выбранный драйвер оплаты.
После
проделанных шагов на последнем шаге оформления заказа драйвер платёжной системы
появится в списке вариантов оплаты.
Описание методов класса драйвера смотрите здесь.
-
Дополнительные замечания:
Так же может возникнуть необходимость добавить языковую переменную с именем драйвера, сделать это можно в языковом файле eshop_purchase.lng, имя переменной должно включать имя драйвера - pay_with_DRIVER_option.
Например,
%%pay_with_example_option%en%%
Example pay driver
%%pay_with_example_option%ru%%
Пример драйвера оплаты
И в языковых eshop_order.lng, и eshop_order_letters.lng,
%%example%en%%
Example pay driver
%%example%ru%%
Пример драйвера оплаты
|