Платежные системы - способы оплаты за товары в интернет-магазине.

Под платежными системами понимаются любые способы оплаты заказа: как платежные системы, принимающие платежи online, так и банковские переводы. В системе может быть создано любое их количество. Управление платежными системами осуществляется на странице Платежные системы (Магазин > Настройки магазина > Платежные системы).

  • Создание платежной системы
  • Обработка платежных систем
  • Типичные обработчики
  • Результаты обработки
  • Создание платежной системы

    Рассмотрим особенности добавления платежной системы. Для этого перейдите к форме создания платежной системы с помощью кнопки Добавить платежную систему, расположенной на контекстной панели. Форма добавления платежной системы может быть заполнена так:

    На первой закладке заполняются общие параметры платежной системы. На закладке Типы плательщиков определяются параметры использования данной платежной системы каждым типом плательщика, определенным в системе (каждому типу плательщика соответствует закладка с его названием). Например, оплата через Сбербанк доступна для типа плательщика Физическое лицо:

    На закладке <тип_плательщика> определяется:
    • Отметка в поле Применяется для данного типа плательщика определяет, будет ли для этого типа плательщика работать данная платежная система или нет;
    • Название платежной системы, отображаемое в публичном разделе сайта для данного типа плательщика;
    • Выбирается Обработчик платежей, осуществляемых с помощью данной платежной системы (об обработчиках платежных систем речь пойдет ниже);
    • Флаг в поле Открывать в новом окне означает, что если по результатам работы обработчика платежей пользователю должен быть представлен какой-либо результат (например, платежный документ), то он будет выведен в отдельном окне веб-браузера;
    • В поле Кодировка укажите кодировку, в которой работает сайт платежной системы, например: UTF-8. Кодировка платежной системы указывается в документации, которую получается от службы поддержки выбранной системы вместе с параметрами доступа к ней. В случае с наличными (cash) в это поле можно ничего не вводить, так как обработчик работает на стороне вашего магазина.
    • Секция Свойства обработчика. Если выбранный вами обработчик платежной системы требует задания значений дополнительных свойств, то в секции будет выведен список этих свойств.
      • Чтобы скрыть список свойств, воспользуйтесь ссылкой Свернуть свойства обработчика.
      • Чтобы раскрыть список свойств, воспользуйтесь ссылкой Развернуть свойства обработчика.

    На закладке Службы доставки выбираются службы, при выборе которых будет доступна данная платежная системы при оформлении заказа:


    Обработка платежных систем

    Разные платежные системы предлагают различные интерфейсы для интеграции (взаимодействия). Зачастую эти интерфейсы отличаются кардинально: например, интеграция с системой Payflow Pro требует выполнения запросов к платежной системе при помощи устанавливаемого на сервер SDK (Software Development Kit), а интеграция со Сбербанком требует распечатки квитанции Сбербанка.

    Обработчик платежных систем - php-скрипт, осуществляющий интеграцию интернет-магазина с платежными системами.

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

    Общая методика работы с файлами-обработчиками такова:

    • Скопируйте необходимые вам шаблоны файлов-обработчиков из папки /bitrix/modules/sale/payment/ в папку /bitrix/php_interface/include/sale_payment/;

      Обратите внимание, папка /bitrix/php_interface/include/sale_payment/ не единственно возможная директория для хранения персональных обработчиков платежных систем. Можно использовать любую другую директорию, для этого ее необходимо указать в настройках модуля Интернет-магазин в поле Путь к пользовательским файлам-обработчикам платежных систем.

    • Измените файлы в папке /bitrix/php_interface/include/sale_payment/ таким образом, чтобы они удовлетворяли вашим нуждам и соответствовали интерфейсу соответствующих платежных систем. Типичные изменения, которые необходимо произвести в этих файлах: изменение тестовых номеров и паролей к платежным системам на реальные номера и пароли, полученные при регистрации в соответствующей платежной системе; добавление изображения оттиска печати и подписей к счету; изменение внешнего вида формы в соответствии с дизайном сайта и т.п.;
    • Добавьте файлы-обработчики с интерфейсами других платежных систем, если они нужны.

    Типичные обработчики

    • Типичным обработчиком для платежной системы, которая не осуществляет on-line платежи, является вывод на экран счета (или квитанции), готового к печати на принтере. Примерами таких обработчиков являются счет или квитанция перевода через Сбербанк.

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

      Пример такого обработчика можно посмотреть в шаблонах платежных систем сбербанка (/bitrix/modules/sale/payment/sberbank/payment.php) или банковского перевода (/bitrix/modules/sale/payment/bill/payment.php).

    • Типичным обработчиком для платежной системы, которая осуществляет платежи on-line, является вывод на экран HTML-формы, которая отправляет данные платежной системе. Примерами таких платежных систем являются Assist, AuthorizeNet, Payflow, WorldPay.

      Вид, набор полей и прочие параметры HTML-формы полностью зависят от платежной системы. Конкретное описание формы, которая требуется данной платежной системе, следует искать в документации по этой платежной системе.

      Пример такого обработчика можно посмотреть в шаблонах платежных систем Assist (/bitrix/modules/sale/payment/assist/payment.php), Paypal (/bitrix/modules/sale/payment/paypal/payment.php) и т.д.

      Как правило платежные системы с online платежами предоставляют один из двух (иногда оба) типов интерфейса для интеграции:

      1. форма с параметрами заказа отправляется на сайт платежной системы, где покупатель заполняет дополнительные формы (например, вводит номер пластиковой карты) и производит фактическую оплату;
      2. все параметры заполняются на сайте и формируется запрос к платежной системе, в ответе на который она сообщает результат оплаты.

    Первый тип интерфейса является наиболее простым для интеграции. В обработчике достаточно создать HTML-форму, которая будет отправлять данные на сайт платежной системы, и добавить в форму необходимые платежной системе поля. Конкретные параметры необходимо смотреть в системе помощи по данной платежной системе. Пример такого обработчика можно посмотреть в шаблоне платежной системы Assist (/bitrix/modules/sale/payment/assist/payment.php).

    Второй тип является более сложным для интеграции, но зато он является более гибким в плане возможностей. Пример такого обработчика можно посмотреть в шаблоне платежной системы AuthorizeNet (/bitrix/modules/sale/payment/authorizenet/).

    Результаты обработки

    Возможность автоматического получения результата и параметров оплаты заказа у электронной платежной системы зависит от конкретной платежной системы. Возможно использование трёх способов получения ответа от платежной системы:

    • Если платежная система позволяет запросить статус обработки заказа, то возможно создание файла получения результата. Такую возможность предоставляет, например, платежная система assist. В файле получения результата (обработки результата) необходимо с помощью скрипта запросить платежную систему о статусе и параметрах заданного заказа, а потом сохранить полученную информацию. Файл получения результата будет вызываться на команду Получить формы Заказы административного раздела сайта.

      Примером файла получения результата может служить файл получения результата от платежной системы assist: /bitrix/modules/sale/payment/assist/result.php;

    • Если платежная система возвращает результат сразу в ответ на запрос обработки заказа, то соответствующий код должен содержаться в файле pre_payment.php. Примером такого алгоритма может служить файл-обработчик платежной системы Payflow Pro: /bitrix/modules/sale/payment/payflow_pro/pre_payment.php.
    • Штатный компонент Подключение обработчика результата платежной системы (sale.order.payment.receive). Достаточно разместить его на странице и выбрать нужную систему и плательщика. Для каждой отдельной системы, поддерживающей возврат результата, нужно создавать собственную страницу и настраивать собственный компонент.

    Дополнительная информация



    13