Опыт

Модули платежной системы для Payselection

Задачи проекта

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

Платформа

  • Сервер — выделенный физический сервер, арендованный Заказчиком в дата-центре, настроен Cetera в рамках проекта.
  • Операционная система — Linux Debian
  • Веб-серверы: Apache, nginx
  • База данных — MySQL
  • Языки программирования: PHP, JavaScript
  • Система управления — «1С-Битрикс»

Разработка

Верстка выполнена на framework Foundation 6.0. Обеспечена адаптивная вёрстка. Код прошёл тестирование на соответствие стандартам W3C.

Программирование выполнялось на PHP. Отдельные возможности реализованы на стандартных модулях jQuery.

Контроль качества проводился автоматическими системами. Обеспечено соответствие стандартам PSR для PHP. Пройдены все встроенные тесты (безопасность, производительность, неизменность ядра и т.д.) системы управления контентом.

Работа с модулями

«1С-Битрикс»

Проведено ревью кода модуля для «1С-Битрикс». Проверка соответствия модуля правилам и стайлгайду Битрикса. 

Модуль соответствует стандарту.

«Битрикс24»

Проведена консультация по платежному модулю для «Битрикс24».

Разработка приложения для «Битрикс24»:

Функциональность:

  • Разработка объединенного backend-а для дальнейшей разработки приложений для других площадок.
  • База данных в приложении отвечает следующим требованиям:
    • Отдельные таблицы пользователей и настроек для каждой площадки: «Битрикс24», Ecwid, Insales.
    • Содержит 1 (одну) и более таблиц.
    • Таблица пользователей сохраняет пользователей и креды авторизации/аутентификации.
    • Таблица настроек сохраняет параметры настройки под пользователя, не уникальны,  может быть несколько настроек под одного пользователя.
  • Приложение поддерживает все типы оплат, которые есть в «Битрикс24».
  • Способ оплаты поддерживает фискализацию по ФЗ-54.
  • Функционал фискализации можно отключать и проводить транзакции без чека.
  • Настройки позволяют сохранить все необходимые для функционала параметры.
  • Обработка входящих webhook запросов от платежного api payselection.
  • Приложение может получать запросы по событиям: Payment, Block, Fail.
  • Приложение выдавает соответствующий ответ на запрос, выполнять необходимые действия - менять статус оплаты и сумму.
  • Приложение является тиражным, доступно для установки из каталога приложений «Битрикс24» неограниченному кругу пользователей.

Этапы разработки:

  • Установка и настройка фреймворка для разработки серверной части приложения.
  • Реализовать тиражное приложение «Битрикс24» осуществляющее запросы к серверу приложений с интерфейсом для настройки интеграции с последующей публикацией в маркетплейс.
  • Настроить обработку и логирование запросов от приложения «Битрикс24».
  • Настроить передачу данных в Payselection посредством предоставленной PHP библиотеки.

Интеграция с Insales

Функциональность:

  • Использованы общие методы для создания транзакции, обработка webhook от API Payselection.
  • Оплата по флоу Insales.
  • Смена статуса по событиям (webhook).
  • Фискализация по ФЗ-54.
  • Прокидывать id транзакции при успешных платежах в заказ.
  • Форма настроек отображается по внешнему URL.
  • Реализуются методы оплаты: виджет и ссылка на оплату.
  • Реализуется передача данных по фискализации.
  • Реализуется докеризованное приложение (микросервис).

Этапы разработки:

  • Реализация приложения с сохранением данных авторизации.
  • Реализация сохранения настроек пользователя в приложении.
  • Реализация оплаты в приложении.

Интеграция с  RetailCRM

Функциональность: 

  • Поддержка методов описанных в порядке простого подключения модуля.
  • Поддержка всех возможностей описанных в Интеграции платежной системы через API.
  • Оплата должна осуществляться по ссылке.
  • Реализована функция переключение статуса оплаты.
  • Передача данных для онлайн-чека.
  • Реализуются методы оплаты: виджет и ссылка на оплат.
  • Реализуется передача данных по фискализации.
  • Реализуется докеризованное приложение (микросервис).

Этапы разработки: 

  • Реализация приложения с сохранением данных авторизации.
  • Реализация сохранения настроек пользователя в приложении.
  • Реализация оплаты в приложении.

Интеграция с  Ecwid

Функциональность:

  • При разработке используются общие методы для создания транзакции, обработка webhook от API Payselection (Payment, Fail, Refund).
  • Оплата происходит по флоу Ecwid.
  • Смена статуса происходит по событиям (webhook).
  • Фискализация осуществляет согласно ФЗ-54.
  • Документация по добавлению метода оплаты.
  • Настройки приложения будут храниться в хранилище приложения на стороне Ecwid. Настройки приложения будут передаваться в запросе на оплату.
  • После установки приложения будет доступен выбор ПС payselection на стадии оформления заказа.
  • Ecwid отправит POST запрос с данными заказа и настройками мерчанта.
  • На стадии оформления заказа после нажатия кнопки оплатить пользователь перенеправляется на страницу оплаты.
  • Реализуется передача данных по фискализации.
  • Реализуется докеризованное приложение (микросервис).

Этапы разработки:

  • Реализация приложения с сохранением данных авторизации.
  • Реализация сохранения настроек пользователя в приложении.
  • Реализация оплаты в приложении.

В августе 2024 проект был остановлен.