Использование плагина от Flashpay для CMS Magento
Введение
В этой статье представлена информация о работе с платёжным плагином от Flashpay. Он может использоваться в веб-сервисах, разработанных на базе CMS Magento версии 2.2 и выше, и позволяет открывать пользователям платёжную форму Payment Page от Flashpay, а также обеспечивать все необходимые действия для проведения платежей.
Плагин от Flashpay позволяет открывать пользователям платёжную форму Payment Page от Flashpay и обеспечивать все необходимые действия для проведения платежей, как в части взаимодействия с пользователями, так и в части взаимодействия с платёжной платформой Flashpay, с передачей и приёмом всей необходимой информации.
Общая информация
Возможности
При использовании плагина от Flashpay можно:
- Встраивать в веб-сервис возможность вызова платёжной формы Payment Page от Flashpay.
Для этого достаточно установить плагин от Flashpay и настроить его использование через интерфейс Magento.
- Тестировать работу платёжной формы и возможности проведения платежей.
При этом для начального тестирования достаточно тестового режима работы плагина (без каких-либо дополнительных действий), а для более глубокого тестирования можно оформить тестовый проект в платёжной платформе Flashpay (что можно сделать через заявку на основном сайте компании).
- Проводить разовые оплаты в одну или две стадии.
В рамках одного проекта можно выбрать один из вариантов проведения оплат: с незамедлительным списанием средств (в одну стадию) либо с предварительной блокировкой и последующим списанием средств (в две стадии).
- Выполнять частичные и полные возвраты средств по оплатам, проведённым с помощью плагина.
При этом инициировать возвраты можно через интерфейс Magento и, если актуально, интерфейсы платёжной платформы Flashpay (пользовательский интерфейс Dashboard и Gate API). Вместе с тем, при использовании интерфейсов платёжной платформы Flashpay информация о платежах в интерфейсе Magento обновляется, только если настроена отправка оповещений со стороны платёжной платформы (подробнее).
- Контролировать информацию о платежах, проводимых с помощью плагина.
Это можно делать через интерфейс Magento и, если актуально, — через Data API и пользовательский интерфейс Dashboard от Flashpay.
- Управлять заказами, оплаты по которым проводятся с помощью плагина, через интерфейс Magento.
При этом можно отменять такие заказы и корректировать их статусы вручную.
- Настраивать параметры работы платёжной формы Payment Page, адаптируя её под специфику веб-сервиса, и применять различные возможности, обеспечиваемые со стороны Flashpay.
В частности, можно подключать отправку пользователям уведомлений о результатах оплат (подробнее). Для подключения этих возможностей следует обращаться к специалистам технической поддержки Flashpay.
Столь широкий спектр возможностей позволяет подстраиваться под различные особенности бизнеса, гибко настраивать пользовательские сценарии и обеспечивать высокий уровень конверсии платёжной формы и проходимости платежей. Для подключения и применения возможностей, предоставляемых Flashpay, следует обращаться к технической документации на этом портале и, по мере необходимости, к специалистам Flashpay.
Схемы работы
В схемах проведения оплат в одну и две стадии с использованием плагина от Flashpay задействуются пользователь, веб-сервис со встроенным в него плагином, платёжная форма Payment Page, платёжная платформа и платёжная среда. При этом с помощью плагина на стороне веб-сервиса обеспечиваются автоматический вызов Payment Page и автоматическое взаимодействие с платёжной платформой в соответствии с заданными параметрами работы.
При работе с одностадийными оплатами на основании одного исходного запроса выполняются разовый перевод средств от пользователя к мерчанту и отправка к веб-сервису оповещения о результате проведения платежа.
- Пользователь на стороне веб-сервиса открывает страницу перехода к оплате.
- С помощью плагина автоматически формируется и отправляется в платёжную платформу Flashpay запрос на открытие платёжной формы Payment Page.
- Запрос на открытие Payment Page поступает в платёжную платформу.
- В платформе выполняется обработка запроса, с проверкой его корректности.
- В платформе обеспечивается подготовка к открытию Payment Page.
- Пользователю отображается платёжная форма.
- Пользователь выполняет необходимые действия для оплаты и подтверждает готовность провести оплату.
- В платёжную платформу поступает итоговый запрос на оплату (со всеми необходимыми сведениями).
- Запрос передаётся в платёжную среду.
- В платёжной среде выполняется обработка платежа. При этом, если необходимо, обеспечивается выполнение дополнительных действий со стороны платформы и пользователя (например, для аутентификации 3‑D Secure).
- Из платёжной среды к платёжной платформе направляется информация о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты. Оно автоматически обрабатывается с помощью плагина, благодаря чему в интерфейсе Magento формируется счёт на оплату и обновляются базовые сведения о платеже.
- От платёжной платформы к Payment Page направляется информация о результате оплаты.
- Информация о результате оплаты отображается пользователю в платёжной форме Payment Page.
При работе с двухстадийными оплатами сначала выполняется блокировка средств пользователя, а затем — списание заблокированных средств или отмена блокировки. При этом в обоих случаях к веб-сервису отправляется оповещение с информацией о соответствующем результате.
При работе с двухстадийными оплатами на основании исходного запроса (на первой стадии) выполняется блокировка средств пользователя, а затем (на второй стадии) на основании подтверждающего запроса или автоматически по истечении заданного срока выполняется списание заблокированных средств или отмена блокировки. При этом на каждой стадии к веб-сервису отправляется оповещение с информацией о соответствующем результате.
- Пользователь на стороне веб-сервиса открывает страницу перехода к оплате.
- С помощью плагина автоматически формируется и отправляется в платёжную платформу Flashpay запрос на открытие платёжной формы Payment Page.
- Запрос на открытие Payment Page поступает в платёжную платформу.
- В платформе выполняется обработка запроса, с проверкой его корректности.
- В платформе обеспечивается подготовка к открытию Payment Page.
- Пользователю отображается платёжная форма.
- Пользователь выполняет необходимые действия и подтверждает готовность провести оплату.
- В платёжную платформу поступает запрос на выполнение блокировки средств.
- Запрос передаётся в платёжную среду.
- В платёжной среде выполняется обработка платежа и блокировка средств пользователя. При этом, если необходимо, обеспечивается выполнение дополнительных действий со стороны платформы и пользователя (например, для аутентификации 3‑D Secure).
- Из платёжной среды к платёжной платформе направляется информация о результате блокировки средств.
- От платёжной платформы к веб-сервису направляется оповещение о результате блокировки. Оно автоматически обрабатывается с помощью плагина, благодаря чему в интерфейсе Magento обновляются базовые сведения о платеже.
- От платёжной платформы к Payment Page направляется информация о результате блокировки.
- Информация о результате блокировки отображается пользователю в платёжной форме Payment Page.
- После того как подтверждается необходимость списания средств, специалист мерчанта инициирует это списание, в результате чего (с помощью плагина) запрос на списание средств поступает в платёжную платформу и обрабатывается в ней.
- Запрос передаётся в платёжную среду.
- В платёжной среде выполняется обработка платежа.
- Из платёжной среды к платёжной платформе направляется информация о результате списания.
- От платёжной платформы к веб-сервису направляется оповещение о результате списания. Оно автоматически обрабатывается с помощью плагина, благодаря чему в интерфейсе Magento формируется счёт на оплату и обновляются базовые сведения о платеже.
- Пользователь уведомляется о результате списания средствами веб-сервиса.
Для взаимодействия с пользователями при проведении одностадийных оплат и блокировке средств в рамках двухстадийных оплат возможны два варианта работы:
- со встраиванием платёжной формы непосредственно в интерфейс веб-сервиса (через элемент iframe);
- с открытием платёжной формы в модальном окне или отдельной вкладке.
В первом варианте пользователь указывает данные платёжной карты и подтверждает формирование заказа в CMS Magento и платежа в платформе Flashpay непосредственно на странице перехода к оплате в веб-сервисе (с помощью кнопки Place Order).
Во втором варианте пользователь сначала подтверждает формирование заказа в CMS Magento на странице перехода к оплате веб-сервиса (с помощью кнопки Place Order) и уже после этого указывает необходимые данные в открывшейся платёжной форме и подтверждает формирование платежа в платформе Flashpay (с помощью кнопки Оплатить).
Помимо прочего, при втором варианте возможны случаи, когда пользователь подтверждает формирование заказа, но не переходит к подтверждению оплаты. В таких случаях в веб-сервисе появляются заказы в статусе Pending Payment, при этом оплаты в рамках этих заказов не инициируются. В остальном работа с заказами и платежами по ним идентична для обоих вариантов.
Контролировать информацию о заказах и платежах по ним можно через интерфейс Magento: в подразделе Orders раздела Sales. При этом следует учитывать, что для заказов и платежей используются разные идентификаторы и статусы. Заказам на стороне веб-сервиса присваиваются девятизначные номера (например, 000001503) и статусы в соответствии с моделью выполнения заказов Magento (подробнее), платежам на стороне платёжной платформы — идентификаторы, включающие в себя префикс mag_ и тринадцатизначный код (например, mag_64ca3135cffd3), и статусы в соответствии с моделью проведения платежей Flashpay (подробнее). С вопросами о соответствии статусов заказов и платежей можно обращаться к курирующему менеджеру Flashpay.
Установка
Общая информация
Чтобы начать работу с плагином от Flashpay для CMS Magento, его необходимо установить. Это можно сделать через каталог плагинов Magento (без предварительного скачивания файлов плагина) или через загрузку zip-архива с файлами плагина (предварительно скачав этот архив).
При возникновении вопросов, касающихся установки описываемого плагина, можно обращаться к специалистам технической поддержки Flashpay.
Установка через каталог плагинов
Для установки через каталог плагинов следует:
- Выполнить команду
composer require Flashpay/module-paymentsиз корневой папки с файлами CMS Magento. - При необходимости получить и указать ключ аутентификации для доступа к интеграционным модулям на стороне CMS Magento.
- Выполнить следующие команды из корневой папки с файлами CMS Magento и дождаться завершения установки.
php bin/magento setup:upgrade php bin/magento cache:flush php bin/magento cache:clean php bin/magento setup:di:compile php bin/magento setup:static-content:deploy
Установка через загрузку архива
Для установки плагина через загрузку zip-архива следует:
- Скачать zip-архив плагина с портала GitHub.
- Распаковать zip-архив и добавить папку с файлами плагина в папку с исходным кодом веб-сервиса на базе CMS Magento — во вложенную папку
app/code.Notice:Если до установки плагина использовалась и не была удалена одна из его предыдущих версий, папку с файлами этой версии следует удалить из папки с исходным кодом веб-сервиса перед добавлением папки с новой версией.
Также стоит учитывать, что в зависимости от структуры файлов в папке с исходным кодом веб-сервиса для подключения к ней могут потребоваться дополнительные действия (например, подключение по протоколу SSH).
- Выполнить следующие команды из корневой папки с файлами CMS Magento и дождаться завершения установки.
php bin/magento indexer:reindex php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento cache:flush php bin/magento cache:clean php bin/magento setup:static-content:deploy
Тестирование
Общая информация
Для проверки работы плагина и проведения тестовых платежей без реального списания средств можно использовать два варианта:
- Тестирование через тестовый режим работы плагина. Это вариант с локальным базовым тестированием работы платёжной формы и отдельных сценариев проведения карточных платежей, без подключения к платёжной платформе Flashpay. Он позволяет оперативно проверять работу платёжной формы и отдельные сценарии проведения карточных платежей. При этом в идентификаторах таких платежей, условно проводимых в таком варианте тестирования, используются кодовое слово
testи доменное имя веб-сервиса (например,test_mysite_mag_64ca3135cffd3), что может быть удобным при контроле проведения платежей. - Тестирование через тестовую среду платёжной платформы Flashpay. Это вариант с комплексным тестированием, с подключением к платёжной платформе Flashpay и задействованием её компонентов. Подключиться к платформе можно в течение нескольких минут, используя соответствующую форму на основном сайте компании и полученные идентификатор и ключ тестового проекта. В таком случае плагин переводится в рабочий режим и позволяет тестировать большее число платёжных сценариев. При этом все платежи остаются тестовыми (хотя в их идентификаторах уже и не используются кодовое слово
testи доменное имя веб-сервиса).
Для сопоставления этих вариантов тестирования можно использовать следующую таблицу.
| Возможности тестирования | через тестовый режим плагина | через тестовую среду платформы |
|---|---|---|
| Открытие платёжной формы с применением различных способов и параметров работы | + | + |
| Проведение разовых оплат (в одну и в две стадии) | + | + |
| Использование дополнительных возможностей платёжной формы Payment Page (при обращении к специалистам Flashpay) | – | + |
| Выполнение возвратов | + | + |
| Контроль информации о платежах | + | + |
| Управление заказами | + | + |
Независимо от выбранного варианта тестирования (в тестовом режиме или с тестовой средой платёжной платформы Flashpay), плагин подключается к веб-сервису и становится доступен пользователям как вариант оплаты. Поэтому вНезависимо от выбранного варианта тестирования, в тех случаях, когда плагин подключается к работающему веб-сервису, рекомендуется выполнять тестирование в период низкой нагрузки и предупреждать пользователей о проводимых работах.
Настройка параметров
Чтобы подготовить плагин к тестированию, необходимо определить предпочтительный вариант тестирования и настроить плагин в интерфейсе Magento следующим образом:
- Перейти к параметрам работы плагина в интерфейсе Magento.
Для этого следует:
- Выбрать раздел Stores на панели навигации и пункт Configuration в появившемся меню.
- Выбрать раздел Sales и пункт Payment Methods в левом меню подраздела Configuration.
- Найти секцию с параметрами работы плагина от Flashpay на открывшейся странице и щёлкнуть кнопку Configure.
- Задать основные параметры работы плагина в раскрывающемся блоке General settings:
- Plugin Enabled — возможность подключить плагин к веб-сервису.;
- Demo mode — возможность установить тестовый режим работы плагина.;
Для использования тестового режима работы плагина необходимо задать значение Yes, для использования тестовой среды платформы — задать значение No и параметры подключения, полученные от Flashpay, в полях Project ID и Secret Key.
Прим.: При работе в тестовом режиме плагина значения, заданные в полях Project ID и Secret Key, игнорируются. Поэтому для использования тестового проекта в платёжной платформе Flashpay необходимо отключить тестовый режим плагина. - Project ID — идентификатор тестового проекта.;
- Secret Key — ключ тестового проекта для взаимодействия с платформой.;
- Language — язык отображения платёжной формы.;
- Additional parameters — дополнительные параметры вызова платёжной формы;. При указании в этом поле нескольких параметров в качестве разделителя необходимо использовать символ &.
- Payment action — вариант проведения оплат:
Authorize (для проведения двухстадийных оплат) или Authorize and Capture (для проведения одностадийных оплат).
- Authorize — в две стадии (с предварительной блокировкой и последующим списанием средств);
- Authorize and Capture — в одну стадию (с незамедлительным списанием средств).
Рис. 5. Блок General settings с основными параметрами подключения
- Сохранить параметры работы плагина.
Для этого следует щёлкнуть кнопку Save Config.
Проведение тестовых оплат
Введение
В рамках работы с плагином можно проводить тестовые оплаты в веб-сервисе и получать базовые сведения о них через интерфейс Magento — в подразделе Orders раздела Sales. При этом можно использовать специальные платёжные реквизиты, позволяющие тестировать заданные сценарии работы.
Чтобы тестировать проведение карточных платежей, можно использовать номера тестовых карт. При этом для тестирования по заданным кратчайшим сценариям (без эмулирования аутентификации 3‑D Secure) можно использовать следующие номера карт:
4000 0000 0000 0077— для проведения оплаты;4111 1111 1111 1111— для отклонения оплаты.
Для более масштабного тестирования можно использовать расширенный набор тестовых данных для карточных платежей (подробнее). (в том числе с аутентификацией 3‑D Secure), представленных в статье Тестовые карты.
Обеспечение синхронизации данных
При работе с двухстадийными оплатами вторые стадии можно инициировать как через интерфейс Magento, так и через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API). Во втором случае информация о заказах в интерфейсе Magento обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускается инициирование вторых стадий оплат через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс Magento, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе Magento. Для этого должны выполняться следующие условия:
При работе с двухстадийными оплатами вторые стадии можно инициировать как через интерфейс Magento, так и через интерфейсы платёжной платформы Flashpay. Во втором случае важно обеспечить автоматическое обновление информации в платформе Magento. Для этого должны выполняться следующие условия:
- Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS Magento, на URL в формате
https://<merchant domain>/flashpay/endpayment/index.Информация о работе с правилами отправки оповещений представлена в отдельной статье.
- Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.
Иначе в протоколах работы плагина появляются сообщения об ошибках, связанных с обработкой оповещений от платёжной платформы.
Процедуры
Оплата в одну стадию, как и первая стадия двухстадийной оплаты (блокировка средств), инициируется пользователем при подтверждении им платежа. Одностадийная оплата проводится автоматически, в то время как для проведения двухстадийной оплаты сначала автоматически выполняется только первая стадия, с блокировкой средств, и уже после этого может выполняться вторая стадия, со списанием средств или отменой блокировки. Инициировать вторую стадию можно также автоматически, по истечении установленного срока блокировки, либо по запросу со стороны мерчанта, через интерфейс Magento или интерфейсы платёжной платформы Flashpay — Dashboard (подробнее) и Gate API (подробнее). При этом списания по запросам могут выполняться как на полную, так и на частичную сумму заблокированных средств.
Чтобы инициировать вторую стадию через интерфейс Magento, следует:
- Перейти к реестру заказов.
Для этого следует перейти в раздел Sales и выбрать пункт Orders в появившемся меню.
- Выбрать заказ, в рамках которого необходимо инициировать вторую стадию оплаты.
- Инициировать вторую стадию оплаты.
Для списания заблокированных средств следует выполнить следующее:
- Щёлкнуть кнопку Invoice в верхнем меню карточки заказа.
- Убедиться, что в столбце Qty to Invoice на открывшейся странице выбрано количество товаров, за которое необходимо выполнить списание.Прим.: Следует учитывать, что при списании средств только за часть товаров в рамках заказа блокировка оставшейся суммы автоматически отменяется.
- Убедиться, что для параметра Amount в нижней части страницы выбрано значение Capture Online, и щёлкнуть кнопку Submit Invoice.
Для отмены блокировки средств следует щёлкнуть кнопку Void в верхнем меню карточки заказа и подтвердить действие в появившемся диалоговом окне.
Для настройки автоматического инициирования второй стадии двухстадийных оплат следует обращаться к специалистам технической поддержки Flashpay.
Выполнение тестовых возвратов
Введение
После проведения тестовых оплат можно тестировать выполнение возвратов через интерфейс Magento и, если актуально, интерфейсы Gate и Dashboard от Flashpay. При этом следует учитывать, что для выполнения возвратов заказы в интерфейсе Magento должны быть в статусах Processing или Complete, а платежи в платформе Flashpay — в статусах success, partially reversed или partially refunded. Также можно иметь в виду, что вся информация о тестовых возвратах, представленная в этом подразделе, актуальна и для выполнения возвратов в рабочем режиме.
Обеспечение синхронизации данных
При инициировании возвратов через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API) информация о заказах в интерфейсе Magento обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс Magento, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе Magento. Для этого должны выполняться следующие условия:
В случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay, важно обеспечить автоматическое обновление информации в платформе Magento. Для этого должны выполняться следующие условия:
- Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS Magento, на URL в формате
https://<merchant domain>/flashpay/endpayment/index.Информация о работе с правилами отправки оповещений представлена в отдельной статье.
- Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.
Иначе в протоколах работы плагина появляются сообщения об ошибках, связанных с обработкой оповещений от платёжной платформы.
Процедуры
Выполнять возвраты можно для проведённых оплат, по которым не были возвращены их полные суммы. На стороне платёжной платформы Flashpay таким оплатам соответствуют статусы success, partially reversed или partially refunded. В свою очередь, контролировать выполнение возвратов можно через интерфейсы платформы Flashpay и интерфейс Magento.
Чтобы выполнить возврат через интерфейс Magento, следует:
- Перейти к реестру заказов.
Для этого следует перейти в раздел Sales и выбрать пункт Orders в появившемся меню.
- Выбрать заказ, по которому необходимо выполнить возврат средств, и выбрать пункт Invoices в левом меню карточки заказа.
- Выбрать счёт на оплату, в рамках которого был проведён платёж, в таблице и щёлкнуть кнопку Credit Memo в верхнем меню страницы счёта на оплату.
- Указать количество товаров, которые необходимо вернуть, и при необходимости щёлкнуть кнопку Update Qty's для обновления суммы возврата на странице выполнения возвратов New Memo.
- При необходимости указать комментарий для возврата в поле Credit Memo Comments.
- Подтвердить выполнение возврата.
Для этого следует щёлкнуть кнопку Refund.
- Убедиться в том, что в истории заказа отображается информация о выполненном возврате.
При выполнении частичного возврата заказу присваивается статус
Processing, при выполнении полного возврата заказу присваивается статусClosed.
Чтобы выполнить возврат через Gate API или Dashboard платформы Flashpay, следует использовать процедуры, представленные в соответствующих статьях: Возвраты средств после оплат (для Gate API) и Выполнение возвратов (для интерфейса Dashboard).
При выполнении возвратов через интерфейс Magento в этом интерфейсе формируются записи с информацией о таких возвратах — credit memos. Просматривать такие записи можно через раздел Credit Memos в карточках отдельных заказов, а более детальную информацию о возвратах можно получать через интерфейсы платформы Flashpay (например, Dashboard и Data API).
Использование
Общая информация
Для проведения платежей с реальным списанием средств, прежде всего, необходимо решить все организационные вопросы по взаимодействию с Flashpay (подать заявку на подключение, предоставить всю необходимую информацию и получить от Flashpay уведомление о возможности проводить платежи, а также идентификатор и секретный ключ рабочего проекта). Вместе с тем, необходимо и сообщить специалистам технической поддержки Flashpay название и адрес веб-сервиса, для которого актуально использование плагина от Flashpay, и а также валюту проведения платежей.
После этого можно перевести плагин в рабочий режим, указать в параметрах его работы полученные идентификатор и ключ рабочего проекта, полученные от Flashpay, и задать другие необходимые параметры (или проверить их актуальность для рабочего применения). Если после этого потребуется приостановить работу плагина, например для тестирования при подключении дополнительных функций, его можно перевести в тестовый режим или отключить от веб-сервиса.
Настройка параметров
Чтобы настроить параметры работы плагина, следует:
- Перейти к параметрам работы плагина в интерфейсе Magento.
Для этого следует:
- Выбрать раздел Stores на панели навигации и пункт Configuration в появившемся меню.
- Выбрать раздел Sales и пункт Payment Methods в левом меню подраздела Configuration.
- Найти секцию с параметрами работы плагина от Flashpay на открывшейся странице и щёлкнуть кнопку Configure.
- Задать основные параметры работы плагина в раскрывающемся блоке General settings:
- Plugin Enabled — возможность подключить плагин к веб-сервису.
- Demo mode — возможность установить тестовый режим работы плагина.
Для использования рабочей среды платформы следует задать значение No и параметры подключения, полученные от Flashpay, в полях Project ID и Secret Key.
- Project ID — идентификатор рабочего проекта.
- Secret Key — ключ рабочего проекта для взаимодействия с платформой.
- Language — язык отображения платёжной формы.
- Additional parameters — дополнительные параметры вызова платёжной формы. При указании в этом поле нескольких параметров в качестве разделителя необходимо использовать символ &.
- Payment action — вариант проведения оплат:
Authorize (для проведения двухстадийных оплат) или Authorize and Capture (для проведения одностадийных оплат).
- Authorize — в две стадии (с предварительной блокировкой и последующим списанием средств);
- Authorize and Capture — в одну стадию (с незамедлительным списанием средств).
Рис. 7. Блок General settings с основными параметрами подключения
- Сохранить параметры работы плагина.
Для этого следует щёлкнуть кнопку Save Config.
Проведение оплат
Введение
Если веб-сервис и плагин корректно настроены, проведение одностадийных оплат и блокировка средств для двухстадийных оплат осуществляются автоматически. При этом важно обеспечивать сбор всех необходимых данных на стороне веб-сервиса.
С вопросами и проблемами, касающимися проведения оплат, можно обращаться к специалистам технической поддержки Flashpay.
Обеспечение синхронизации данных
При работе с двухстадийными оплатами вторые стадии можно инициировать как через интерфейс Magento, так и через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API). Во втором случае информация о заказах в интерфейсе Magento обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускается инициирование вторых стадий оплат через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс Magento, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе Magento. Для этого должны выполняться следующие условия:
При работе с двухстадийными оплатами вторые стадии можно инициировать как через интерфейс Magento, так и через интерфейсы платёжной платформы Flashpay. Во втором случае важно обеспечить автоматическое обновление информации в платформе Magento. Для этого должны выполняться следующие условия:
- Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS Magento, на URL в формате
https://<merchant domain>/flashpay/endpayment/index.Информация о работе с правилами отправки оповещений представлена в отдельной статье.
- Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.
Иначе в протоколах работы плагина появляются сообщения об ошибках, связанных с обработкой оповещений от платёжной платформы.
Процедуры
Оплата в одну стадию, как и первая стадия двухстадийной оплаты (блокировка средств), инициируется пользователем при подтверждении им платежа. Одностадийная оплата проводится автоматически, в то время как для проведения двухстадийной оплаты сначала автоматически выполняется только первая стадия, с блокировкой средств, и уже после этого может выполняться вторая стадия, со списанием средств или отменой блокировки. Инициировать вторую стадию можно также автоматически, по истечении установленного срока блокировки, либо по запросу со стороны мерчанта, через интерфейс Magento или интерфейсы платёжной платформы Flashpay — Dashboard (подробнее) и Gate API (подробнее). При этом списания по запросам могут выполняться как на полную, так и на частичную сумму заблокированных средств.
Чтобы инициировать вторую стадию через интерфейс Magento, следует:
- Перейти к реестру заказов.
Для этого следует перейти в раздел Sales и выбрать пункт Orders в появившемся меню.
- Выбрать заказ, в рамках которого необходимо инициировать вторую стадию оплаты.
- Инициировать вторую стадию оплаты.
Для списания заблокированных средств следует выполнить следующее:
- Щёлкнуть кнопку Invoice в верхнем меню карточки заказа.
- Убедиться, что в столбце Qty to Invoice на открывшейся странице выбрано количество товаров, за которое необходимо выполнить списание.Прим.: Следует учитывать, что при списании средств только за часть товаров в рамках заказа блокировка оставшейся суммы автоматически отменяется.
- Убедиться, что для параметра Amount в нижней части страницы выбрано значение Capture Online, и щёлкнуть кнопку Submit Invoice.
Для отмены блокировки средств следует щёлкнуть кнопку Void в верхнем меню карточки заказа и подтвердить действие в появившемся диалоговом окне.
Для настройки автоматического инициирования второй стадии двухстадийных оплат следует обращаться к специалистам технической поддержки Flashpay.
Выполнение возвратов
Введение
После проведения оплат можно выполнять возвраты по ним через интерфейс Magento и, если актуально, интерфейсы Gate и Dashboard от Flashpay. При этом следует учитывать, что для выполнения возвратов заказы в интерфейсе Magento должны быть в статусах Processing или Complete, а платежи в платформе Flashpay — в статусах success, partially reversed или partially refunded. Также можно иметь в виду, что все возможности и процедуры по работе с возвратами в рабочем режиме соответствуют тем, которые доступны в тестовом режиме.
Обеспечение синхронизации данных
При инициировании возвратов через интерфейсы платёжной платформы Flashpay (Dashboard и Gate API) информация о заказах в интерфейсе Magento обновляется, только если настроена отправка оповещений со стороны платёжной платформы. Поэтому в случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay и контроль информации о заказах через интерфейс Magento, важно обеспечить отправку оповещений для автоматического обновления информации в интерфейсе Magento. Для этого должны выполняться следующие условия:
В случаях, когда со стороны мерчанта допускаются возвраты через интерфейсы платформы Flashpay, важно обеспечить автоматическое обновление информации в платформе Magento. Для этого должны выполняться следующие условия:
- Для используемого проекта настроена отправка оповещений от платёжной платформы к CMS Magento, на URL в формате
https://<merchant domain>/flashpay/endpayment/index.Информация о работе с правилами отправки оповещений представлена в отдельной статье.
- Среди используемых правил отправки оповещений нет дублирующих: с совпадением типа платежа, типа события и кода платёжного метода.
Иначе в протоколах работы плагина появляются сообщения об ошибках, связанных с обработкой оповещений от платёжной платформы.
Процедуры
Выполнять возвраты можно для проведённых оплат, по которым не были возвращены их полные суммы. На стороне платёжной платформы Flashpay таким оплатам соответствуют статусы success, partially reversed или partially refunded. В свою очередь, контролировать выполнение возвратов можно через интерфейсы платформы Flashpay и интерфейс Magento.
Чтобы выполнить возврат через интерфейс Magento, следует:
- Перейти к реестру заказов.
Для этого следует перейти в раздел Sales и выбрать пункт Orders в появившемся меню.
- Выбрать заказ, по которому необходимо выполнить возврат средств, и выбрать пункт Invoices в левом меню карточки заказа.
- Выбрать счёт на оплату, в рамках которого был проведён платёж, в таблице и щёлкнуть кнопку Credit Memo в верхнем меню страницы счёта на оплату.
- Указать количество товаров, которые необходимо вернуть, и при необходимости щёлкнуть кнопку Update Qty's для обновления суммы возврата на странице выполнения возвратов New Memo.
- При необходимости указать комментарий для возврата в поле Credit Memo Comments.
- Подтвердить выполнение возврата.
Для этого следует щёлкнуть кнопку Refund.
- Убедиться в том, что в истории заказа отображается информация о выполненном возврате.
При выполнении частичного возврата заказу присваивается статус
Processing, при выполнении полного возврата заказу присваивается статусClosed.
Чтобы выполнить возврат через Gate API или Dashboard платформы Flashpay, следует использовать процедуры, представленные в соответствующих статьях: Возвраты средств после оплат (для Gate API) и Выполнение возвратов (для интерфейса Dashboard).
При выполнении возвратов через интерфейс Magento в этом интерфейсе формируются записи с информацией о таких возвратах — credit memos. Просматривать такие записи можно через раздел Credit Memos в карточках отдельных заказов, а более детальную информацию о возвратах можно получать через интерфейсы платформы Flashpay (например, Dashboard и Data API).
Контроль платежей и заказов
Контролировать информацию о заказах, включая базовые сведения о платежах, проводимых с помощью плагина от Flashpay, можно через интерфейс Magento, используя инструменты подраздела Orders в разделе Sales. Для получения более детальных сведений о платежах и возвратах можно использовать интерфейс Dashboard от Flashpay (но в нём не отображается информация о заказах).
В подразделе Orders отображается реестр заказов с основными сведениями о каждом из них, а также с возможностями поиска, фильтрации, перехода к карточкам отдельных заказов и выполнения различных действий.
Щёлкнув строку отдельного заказа в реестре, можно перейти в его карточку, где Для перехода к карточке конкретного заказа можно щёлкнуть его строку в реестре. В карточках отображаются развёрнутые сведения о заказах (включая дату создания, статус, сумму заказа и адрес доставки), а также базовые сведения о платежах и другая информация. Карточки заказов состоят из следующих секций:
- Order & Account Information — с информацией о заказе и пользователе;
- Address Information — с информацией о расчётном адресе и адресе доставки пользователя;
- Payment & Shipping Method — с базовыми сведениями о платеже и способе доставки;
- Items Ordered — с информацией о приобретённых товарах.
В пункте Transactions левого меню отображаются сведения о транзакциях в рамках заказа. Каждая транзакция соответствует отдельной операции, выполненной на стороне платформы Flashpay. Так, могут создаваться транзакции следующих типов:
- Authorization — при блокировке средств (выполнении операции
auth); - Capture — при списании средств (выполнении операции
captureдля двухстадийной оплаты или операцииsaleдля одностадийной оплаты); - Void — при отмене блокировки средств в рамках двухстадийной оплаты (выполнении операции
cancel); - Refund — при выполнении возврата (выполнении операции
refund).
Идентификатор каждой транзакции (Transaction ID) соответствует идентификатору запроса на выполнение операции в платёжной платформе и присваивается следующей транзакции в заказе в качестве идентификатора „родительской“ транзакции (Parent Transaction ID).
Более подробная информация о работе с заказами в интерфейсе Magento представлена в документации Magento.