Интеграция по API с сервисом формирования чеков(онлайн кассы) — Бизнес.ру

Author Автор: Роман Чернышов    Опубликовано: 8 мая 2021

Интеграция по API с сервисом формирования чековДоброго времени друзья! Сегодня я хочу рассказать об интеграции с сервисом формирования чеков(онлайн-кассы) от портала Бизнес.ру, по средствам предоставляемого им API. Речь пойдет об интеграции нетипичного сайта, который имеет уникальный функционал, в том числе по части приема оплаты от пользователей. Несмотря на то, что данный сервис предоставляет множество готовых решений — плагинов, для популярных CMS, которые позволяют подключиться к онлайн-кассе достаточно просто, в нашем же случае ни один из них для решения наших задач не подошел. По этому было принято решение, разработать свой уникальный плагин.

Описание API

Для работы с API, сервис предоставляет исчерпывающую документацию, также есть готовый PHP SDK, который представляет собой PHP-класс с несколькими методами: открытие смены, закрытие смены, печать чека прихода и печать чека возврата прихода. К сожалению данный класс не содержит метода проверки статуса команды печати чека, поэтому он был мною доработан — добавлен метод проверки статуса печати чека (т.к. нам нужна детальная информация по чеку).

API хорошо задокументирован, все методы описаны в Swagger, ссылка на который доступна из личного кабинета «Онлайн-Чеки», там же можно отправить несколько тестовых запросов, полный список методов включает в себя:

Users — Работа с пользователем / аккаунтом

GET ​/User — Данные пользователя по ID

Command — Передача команд в ФР

GET ​/Command​/{commandId} -Получение данных о команде в ФР по ID пользователя и ID команды

GET ​/Command — Получение данных о команде в ФР по ID пользователя и ID команды

POST — ​/Command Передача команд в ФР по ID пользователя

Token — Получение и восстановление токена

GET ​/Token — Получить новый токен

Meta — Статистические данные

GET ​/StateSystem — Получение данных о состоянии системы

GET ​/Shift — Получение данных о сменах

GET /Check -Получение данных о чеках

GET ​/Goods — Получение данных о товарах в чеке

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

https://check-dev.business.ru/open-api/v1/ — Тестовый сервис.
https://check.business.ru/open-api/v1/ — Stable сервис.

При отправке чека на печать, можно указать следующие данные:

  • Имя кассира;
  • Емаил или телефон покупателя;
  • Номер чека;
  • Сумма оплаты наличными;
  • Сумма оплаты безналичным расчетом;
  • Список товаров, включающий в себя такие значения как: количество, стоимость, общая сумма, наименования, процент ставки НДС, а также способ и предмет расчета.

Функционал

Интегрируемый проект написан на PHP, также он включает в себя форумный движок IP.Board, именно в нем и реализована система учета финансовых операций и выставления счетов пользователям. Таким образом с IPB была произведена интеграция, в админпанель форума был добавлен новый уникальный функционал. Далее о котором подробнее.

Создание и отправка чека на печать с произвольными данными

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

Создание и отправка чека на печать

Создание и отправка чека на печать по конкретной сделке в ручном режиме

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

  • Кассир
  • Номер чека
  • Дата
  • Номер смены
  • Номер ФД
  • ФПД
  • Сер. номер ФН
  • Прочее

Создание чека в в ручном режиме

Создание и отправка чека на печать по конкретной сделке в автоматическом режиме

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

Заключение

Онлайн бизнес развивается семимильными шагами, не отстают и фискальные службы, к счастью для нашего удобства всё больше появляется таких сервисов как «Онлайн-Чеки» от портала Бизнес.ру. Зачастую интеграция с онлайн-кассой представляет собой не сложный процесс, но иногда без разработчика не обойтись, и в таком случае вы всегда можете рассчитывать на меня! Не важно какой именно сервис выберите вы, я смогу интегрировать с ним ваш проект, реализовав при этом ваши уникальные идеи, или предложив что-то своё. Обращаетесь!

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка