Использование плагина Flashpay payments для CMS PrestaShop

Введение

В этой статье представлена информация о работе с платёжным плагином Flashpay payments версии 1.0.2. Этот плагин может использоваться в веб-сервисах, разработанных на базе CMS PrestaShop версий 8.1.5 и выше, и позволяет открывать пользователям платёжную форму Payment Page от Flashpay и обеспечивать все необходимые действия для проведения платежей.

Плагин Flashpay payments устанавливается через интерфейс PrestaShop и позволяет открывать пользователям платёжную форму Payment Page от Flashpay и обеспечивать все необходимые действия для проведения платежей, как в части взаимодействия с пользователями, так и в части взаимодействия с платёжной платформой Flashpay, с передачей и приёмом всей необходимой информации.

Общая информация

Возможности

При использовании плагина Flashpay payments можно:

  • Оперативно встраивать в веб-сервис возможность вызова платёжной формы Payment Page от Flashpay.

    Для этого достаточно всего нескольких действий в интерфейсе CMS PrestaShop.

  • Тестировать работу платёжной формы и возможности проведения платежей.

    Для этого можно оформить тестовый проект в платёжной платформе Flashpay (что можно сделать через заявку на основном сайте компании) и использовать идентификатор и ключ этого проекта.

  • Проводить разовые одностадийные оплаты.

    При этом для решения всех организационных вопросов следует обращаться к курирующему менеджеру Flashpay.

  • Выполнять частичные и полные возвраты средств по оплатам, проведённым с помощью плагина.

    Для этого можно использовать интерфейс PrestaShop и, если актуально, интерфейсы платёжной платформы Flashpay (пользовательский интерфейс Dashboard и Gate API). Вместе с тем, при использовании интерфейсов платёжной платформы Flashpay информация о заказах в интерфейсе PrestaShop обновляется, только если настроена отправка оповещений со стороны платёжной платформы (подробнее).

  • Контролировать информацию о платежах, проводимых с помощью плагина.

    Это можно делать через интерфейс PrestaShop и, если актуально, — через Data API и пользовательский интерфейс Dashboard от Flashpay.

  • Управлять заказами, оплаты по которым проводятся с помощью плагина.

    Для этого можно использовать интерфейс PrestaShop, который позволяет отменять такие заказы и корректировать их статусы вручную.

  • Настраивать параметры работы платёжной формы Payment Page, адаптируя её под специфику веб-сервиса, и применять различные возможности, обеспечиваемые со стороны Flashpay.

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

Схема работы

В схеме проведения оплат с использованием плагина Flashpay payments для CMS PrestaShop задействуются пользователь, веб-сервис со встроенным в него плагином, платёжная форма Payment Page, платёжная платформа Flashpay и платёжная среда. При этом с помощью плагина Flashpay payments на стороне веб-сервиса обеспечиваются автоматический вызов Payment Page и автоматическое взаимодействие с платёжной платформой в соответствии с заданными параметрами работы.

Схема проведения оплат с использованием плагина Flashpay payments выглядит следующим образом.

Рис. 3. Проведение оплаты с использованием плагина. Описание шагов
  1. Пользователь на стороне веб-сервиса выбирает вариант оплаты с использованием плагина Flashpay payments.
  2. На стороне веб-сервиса формируется и отправляется в платёжную платформу Flashpay запрос на открытие платёжной формы Payment Page.
  3. Запрос на открытие Payment Page поступает в платёжную платформу.
  4. В платёжной платформе выполняется обработка запроса, с проверкой его корректности.
  5. В платёжной платформе обеспечивается подготовка к открытию Payment Page.
  6. Пользователю отображается платёжная форма.
  7. Пользователь выполняет необходимые действия и подтверждает готовность провести оплату.
  8. В платёжную платформу поступает итоговый запрос на оплату (со всеми необходимыми сведениями).
  9. Запрос передаётся в платёжную среду.
  10. В платёжной среде выполняется обработка платежа. При этом, если необходимо, обеспечивается выполнение дополнительных действий со стороны платформы и пользователя (например, для аутентификации 3‑D Secure).
  11. Из платёжной среды к платёжной платформе направляется информация о результате оплаты.
  12. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. Оно автоматически обрабатывается с помощью плагина, благодаря чему в интерфейсе PrestaShop обновляется информация о заказе.
  13. От платёжной платформы к Payment Page направляется информация о результате оплаты.
  14. Информация о результате оплаты отображается в платёжной форме Payment Page (если используется способ открытия платёжной формы в модальном окне или отдельной вкладке).

В рамках этой схемы с помощью плагина Flashpay payments на стороне веб-сервиса обеспечиваются автоматический вызов Payment Page и автоматическое взаимодействие с платёжной платформой в соответствии с заданными параметрами работы.

Для взаимодействия с пользователями при проведении оплат могут использоваться варианты с открытием платёжной формы в отдельной вкладке и в модальном окне. В обоих этих вариантах пользователь сначала подтверждает переход к оплате (с помощью кнопки PLACE ORDER в веб-сервисе), после чего указывает необходимые данные и подтверждает формирование платежа в платформе Flashpay (с помощью соответствующих полей и кнопки Оплатить в открывшейся платёжной форме).

При работе с плагином Flashpay payments следует учитывать, что для заказов в веб-сервисе и платежей в платёжной платформе используются разные идентификаторы и статусы, при этом для заказов используются следующие статусы:. Заказам на стороне веб-сервиса присваиваются порядковые номера (например, 71) и статусы, ассоциированные со статусами платежей в платформе Flashpay:

  • Flashpay: Pending — если платёж по заказу находится в промежуточном состоянии;
  • Flashpay: Approved — если платёж по заказу проведён;
  • Flashpay: Declined — если платёж по заказу отклонён;
  • Flashpay: Partially refunded — если в рамках заказа был выполнен частичный возврат средств;
  • Flashpay: Refund — если в рамках заказа был выполнен возврат полной суммы платежа.

В свою очередь, платежам на стороне платёжной платформы присваиваются идентификаторы, соответствующие номерам заказов в веб-сервисе, и статусы в соответствии с моделью проведения платежей Flashpay (подробнее).

Установка

Чтобы начать работу с плагином Flashpay payments версии 1.0.2, его необходимо установить.

Если ранее использовалась одна из предыдущих версий этого плагина, перед его обновлением рекомендуется выполнить следующее:

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

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

  2. Деактивировать предыдущую версию плагина.

    Это можно сделать через список установленных плагинов в интерфейсе PrestaShop, с помощью кнопки Uninstall.

Для установки плагина необходимо скачать его zip-архив на портале GitHub и выполнить следующие действия в интерфейсе PrestaShop:

  1. Выбрать раздел Modules и пункт Module Manager в секции IMPROVE на панели навигации.
  2. Щёлкнуть кнопку Upload a module на странице Module Manager и выбрать предварительно скачанный zip-архив плагина.
  3. Дождаться завершения загрузки и автоматической установки плагина.

После выполнения этих действий на странице Module Manager можно найти панель плагина Flashpay payments и приступить к работе с ним.

Рис. 4. Страница Module Manager с панелью плагина в интерфейсе PrestaShop

Тестирование

Общая информация

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

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

Настройка параметров

Чтобы подготовить плагин к тестированию, необходимо определить предпочтительный вариант тестирования и настроить плагин в интерфейсе PrestaShop. Для этого следует:

  1. Перейти к параметрам работы плагина в интерфейсе PrestaShop.

    Для этого следует:

    1. Выбрать раздел Modules и пункт Module Manager в секции IMPROVE на панели навигации.
    2. Выполнить поиск плагина Flashpay payments на открывшейся странице и щёлкнуть кнопку Configure в соответствующей строке.
  2. Задать основные параметры работы плагина на вкладке General Settings:
    • Project ID — идентификатор тестового проекта.;
    • Secret key — ключ тестового проекта.;
    • Language — язык отображения платёжной формы.
  3. Задать общие параметры использования платёжных методов:
    • Enabled — возможность подключить платёжный метод для работы через плагин.;

      Для подключения метода следует установить флажок. По умолчанию флажок снят.

    • Title — название платёжного метода, отображаемое на странице перехода к оплате в веб-сервисе.;
    • Description — текст, отображаемый пользователям при выборе конкретного платёжного метода.
      Прим.: При необходимости поля Title и Description могут использоваться для предупреждения пользователей о работе плагина в тестовом режиме.
  4. Сохранить параметры работы плагина.

    Для этого следует щёлкнуть кнопку Save Settings.

Проведение тестовых оплат

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

Чтобы тестировать проведение карточных платежей, можно использовать номера тестовых карт. При этом для тестирования по заданным кратчайшим сценариям (без эмулирования аутентификации 3‑D Secure) можно использовать следующие номера карт:

  • 4000 0000 0000 0077 — для проведения оплаты;
  • 4111 1111 1111 1111 — для отклонения оплаты.

Для более масштабного тестирования можно использовать расширенный набор тестовых данных для карточных платежей (подробнее). (в том числе с аутентификацией 3‑D Secure), представленных в статье Тестовые карты.

Выполнение тестовых возвратов

Введение

После проведения тестовых оплат можно тестировать выполнение возвратов через интерфейс PrestaShop, и если актуально, через интерфейсы Gate и Dashboard от Flashpay. Выполнять возвраты можно для оплат, которые удовлетворяют двум условиям. Во-первых, это должны быть оплаты такими методами, для которых поддерживается возможность возвратов. Во-вторых, это должны быть проведённые оплаты, по которым не были возвращены полные суммы — на стороне платёжной платформы Flashpay таким оплатам соответствуют статусы success, partially reversed или partially refunded. В свою очередь, контролировать выполнение возвратов можно через интерфейсы платформы Flashpay и интерфейс PrestaShop. Также можно иметь в виду, что вся информация о тестовых возвратах, представленная в этом подразделе, актуальна и для выполнения возвратов в рабочей среде.

Обеспечение синхронизации данных

При инициировании возвратов через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API) информация о заказах в интерфейсе PrestaShop обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс PrestaShop, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе PrestaShop. Для этого должны выполняться следующие условия:

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

  • Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS PrestaShop, на URL, отображаемый на странице с параметрами работы плагина (в формате https://<sitedomain>/en/module/Flashpay/callback).

    Информация о работе с правилами отправки оповещений представлена в отдельной статье.

  • Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.

Процедуры

Выполнять возвраты можно для проведённых оплат, по которым не были возвращены их полные суммы. На стороне платёжной платформы Flashpay таким оплатам соответствуют статусы success, partially reversed или partially refunded. В свою очередь, контролировать выполнение возвратов можно через интерфейсы платформы Flashpay и интерфейс PrestaShop.

Чтобы выполнить возврат через интерфейс PrestaShop, следует:

  1. Перейти к карточке заказа, в рамках которого необходимо выполнить возврат.

    Для этого следует выбрать пункт Orders в разделе Orders секции SELL и щёлкнуть строку требуемого заказа.

  2. Инициировать возврат.

    Для этого следует:

    1. Раскрыть панель Products, щёлкнув кнопку Partial refund.
    2. Указать сумму возврата в поле Amount (Tax included) и установить флажок Refund via Flashpay.
    3. Щёлкнуть кнопку Partial refund в правой нижней части панели Products.
  3. Убедиться в выполнении возврата.

    Для этого можно проверить, что статус заказа изменился на Flashpay: Partially refunded (при частичном возврате) или Flashpay: Refund (при полном возврате).

Рис. 5. Панель Products с возможностью выполнения возвратов в карточке заказа

Чтобы выполнить возврат через Gate API или Dashboard платформы Flashpay, следует использовать процедуры, представленные в соответствующих статьях: Возвраты средств после оплат (для Gate API) и Выполнение возвратов (для интерфейса Dashboard).

Использование

Общая информация

Для проведения платежей с реальным списанием средств, прежде всего, необходимо решить все организационные вопросы по взаимодействию с Flashpay (подать заявку на подключение, предоставить всю необходимую информацию и получить от Flashpay уведомление о возможности проводить платежи, а также идентификатор и секретный ключ рабочего проекта). Также необходимо и сообщить специалистам технической поддержки Flashpay название и адрес веб-сервиса, для которого актуально использование плагина Flashpay payments, и а также валюту проведения платежей.

После этого можно указать в параметрах работы плагина идентификатор и ключ рабочего проекта, полученные от Flashpay, и задать другие необходимые параметры (или проверить их актуальность для рабочего применения). Если впоследствии потребуется приостановить работу плагина, можно отключить его платёжные методы. Кроме того, при необходимости дополнительного тестирования, например при подключении новых функций, можно переключать плагин на работу с тестовым проектом.

Настройка параметров

Чтобы настроить параметры работы плагина, следует:

  1. Перейти к параметрам работы плагина в интерфейсе PrestaShop.

    Для этого следует:

    1. Выбрать раздел Modules и пункт Module Manager в секции IMPROVE на панели навигации.
    2. Выполнить поиск плагина Flashpay payments на открывшейся странице и щёлкнуть кнопку Configure в соответствующей строке.
  2. Задать основные параметры работы плагина на вкладке General Settings:
    • Project ID — идентификатор рабочего проекта.
    • Secret key — ключ рабочего проекта.
    • Language — язык отображения платёжной формы.
  3. Задать общие параметры использования платёжных методов:
    • Enabled — возможность подключить платёжный метод для работы через плагин.

      Для подключения метода следует установить флажок. По умолчанию флажок снят.

    • Title — название платёжного метода, отображаемое на странице перехода к оплате в веб-сервисе.
    • Description — текст, отображаемый пользователям при выборе конкретного платёжного метода.
      Прим.: Если при тестировании плагина в полях Title и Description использовались соответствующие предупреждения, при переходе к использованию рабочего проекта в плагине важно их убрать.
  4. Сохранить параметры работы плагина щелчком кнопки

    Save Settings.

Проведение оплат

Если веб-сервис и плагин корректно настроены, оплаты проводятся автоматически. При этом важно обеспечивать сбор всех необходимых данных на стороне веб-сервиса.

Прим.: Расширен набор сведений, необходимых для аутентификации 3‑D Secure при проведении карточных оплат. Для сбора и передачи таких сведений на странице перехода к оплате должны использоваться поля для указания пользователем номера его телефона или адреса электронной почты.

При возникновении вопросов или проблем с проведением оплат можно обращаться к специалистам технической поддержки Flashpay.

Выполнение возвратов

Введение

После проведения оплат можно выполнять возвраты по ним через интерфейс PrestaShop, и если актуально, через интерфейсы Gate и Dashboard от Flashpay. При этом следует учитывать, что для выполнения возвратов заказы в интерфейсе PrestaShop должны быть в статусах Flashpay: Approved или Flashpay: Partially refunded, а платежи на стороне платёжной платформы Flashpay — в статусах success, partially reversed или partially refunded. Также можно иметь в виду, что все возможности и процедуры по работе с возвратами в рабочем режиме соответствуют тем, которые доступны в тестовом режиме.

Обеспечение синхронизации данных

При инициировании возвратов через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API) информация о заказах в интерфейсе PrestaShop обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс PrestaShop, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе PrestaShop. Для этого должны выполняться следующие условия:

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

  • Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS PrestaShop, на URL, отображаемый на странице с параметрами работы плагина (в формате https://<sitedomain>/en/module/Flashpay/callback).

    Информация о работе с правилами отправки оповещений представлена в отдельной статье.

  • Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.

Процедуры

Выполнять возвраты можно для проведённых оплат, по которым не были возвращены их полные суммы. На стороне платёжной платформы Flashpay таким оплатам соответствуют статусы success, partially reversed или partially refunded. В свою очередь, контролировать выполнение возвратов можно через интерфейсы платформы Flashpay и интерфейс PrestaShop.

Чтобы выполнить возврат через интерфейс PrestaShop, следует:

  1. Перейти к карточке заказа, в рамках которого необходимо выполнить возврат.

    Для этого следует выбрать пункт Orders в разделе Orders секции SELL и щёлкнуть строку требуемого заказа.

  2. Инициировать возврат.

    Для этого следует:

    1. Раскрыть панель Products, щёлкнув кнопку Partial refund.
    2. Указать сумму возврата в поле Amount (Tax included) и установить флажок Refund via Flashpay.
    3. Щёлкнуть кнопку Partial refund в правой нижней части панели Products.
  3. Убедиться в выполнении возврата.

    Для этого можно проверить, что статус заказа изменился на Flashpay: Partially refunded (при частичном возврате) или Flashpay: Refund (при полном возврате).

Рис. 6. Панель Products с возможностью выполнения возвратов в карточке заказа

Чтобы выполнить возврат через Gate API или Dashboard платформы Flashpay, следует использовать процедуры, представленные в соответствующих статьях: Возвраты средств после оплат (для Gate API) и Выполнение возвратов (для интерфейса Dashboard).

Контроль платежей и заказов

Контролировать информацию о платежах, проводимых с использованием плагина Flashpay payments, и соответствующих заказах можно через интерфейс PrestaShop, используя инструменты подраздела Orders в одноимённом разделе. При этом более подробную информацию о платежах и возвратах можно получать через интерфейс Dashboard (подробнее) и Data API (подробнее) от Flashpay.

При работе с интерфейсом PrestaShop в подразделе Orders отображается реестр заказов с основными сведениями о каждом из них, а также с возможностями поиска, фильтрации, перехода к карточкам отдельных заказов и выполнения различных действий.

Рис. 7. Реестр заказов в интерфейсе PrestaShop

Щёлкнув строку отдельного заказа в реестре, можно перейти в его карточку, где Для перехода к карточке конкретного заказа можно щёлкнуть его строку (или кнопку ) в реестре. Через карточки, в частности, можно получить получать развёрнутые сведения о нём, а также инициировать выполнение возврата заказах (например, о пользователях, приобретённых продуктах и способах доставки) и платежах, а также инициировать выполнение возвратов.

Для получения информации о платеже, инициированном через плагин от Flashpay, следует использовать секцию Payment.

Рис. 8. Карточка заказа в интерфейсе PrestaShop

Более подробную информацию о работе с заказами можно получить с помощью кнопки Help в подразделе Orders одноимённого раздела в интерфейсе PrestaShop.