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