Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Создание своего платёжного драйвера

  1. Создание платёжного драйвера:

    1. Если есть уже готовый драйвер платёжной системы для Amiro CMS, папку, содержащую его файлы необходимо поместить в _local/eshop/pay_drivers/.
    2. Если требуется создать собственный драйвер, необходимо скопировать драйвер-пустышку (_local/eshop/pay_drivers/example/) и настроить PHP класс и шаблоны на работу с нужной платёжной системой. Папка платёжного драйвера состоит из файлов:
      1. 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 - возвращает имя переменной в которой передаётся номер заказа в запросе платёжной системы.
      2. gate_example.php – файл подключаемый в /drivers/gate_example.php. Скрипт /drivers/gate_example.php используется для вызовов со стороны платёжной системы. Файл /_local/eshop/pay_drivers/example/gate_example.php может содержать необходимый функционал для обработки/проверки данных поступающих от платёжной системы.
      3. driver.tpl – шаблоны драйвера, используемые в различных местах:

        • settings_form – форма настройки драйвера в интерфейсе администратора. Поля формы будут сериализованы и сохранены как массив, который в дальнейшем будет предоставляться для методов построения кнопки и проверки пришедших данных.
        • checkout_form – кнопка оплаты на странице оформления заказа.
        • pay_form – форма, отображающаяся после выбора текущего драйвера для оплаты. Обычно – авторедирект.
      4. driver.lng – языковые переменные для шаблона driver.tpl. Так же содержит переменную driver_title, которая используется системой для обозначения драйвера.
  2. Для подключения и настройки драйвера необходимо:

    1. В интерфейсе «Сервис : Настройки системы : Платёжные системы» установить драйвер.
    2. Открыть его на редактирование и внести необходимые данные.
    3. В настройке «Каталог товаров : Заказы» подключить выбранный драйвер оплаты.

    После проделанных шагов на последнем шаге оформления заказа драйвер платёжной системы появится в списке вариантов оплаты.

    Описание методов класса драйвера смотрите здесь.

  3. Дополнительные замечания:

    Так же может возникнуть необходимость добавить языковую переменную с именем драйвера, сделать это можно в языковом файле 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%%
    Пример драйвера оплаты 
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.