Как мы помогали ресторанам платежи принимать. Часть 1

How we helped restaurants accept payments. Part 1

31 may 2020

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

Aptito — система для управления малыми и средними ресторанами в США. Система помогает сформировать меню и цены, создавать и управлять заказами, собирает статистику посещаемости и продаж, эффективности работы официантов. На базе Aptito можно создать собственный сайт или приложение онлайн заказа. Система состоит из 4 основных компонентов:

POS — точка продажи на планшетах
  1. POS — точка продажи на планшетах (в США терминология отличается от РФ)
  2. mPOS — мобильная точка продажи, работает на смартфонах
  3. Menu — меню для посетителей
  4. Kiosk — точка самообслуживания, аналогично стендам самообслуживания BurgerKing, MacDonalds, KFC.
Menu — меню для посетителей

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

Именно с этапом приема оплаты от посетителя нам и предстояла работа. Рестораны в США используют огромное количество различных терминалов для приема платежей от клиентов. Для масштабирования системе Aptito было необходимо проинтегрироваться со всеми, что мы и сделали. Конкретно это были такие терминалы:

CardFlight
  1. Стационарный Терминал (Ingenico, PAX, Verifone)
  2. Bluetooth или WiFi Терминалы (UsaePay, SumUp, PAX)
  3. Непосредственно подключаемый терминал к iPad (Lightning, AUX) (UsaePay, Cardflight)

Из всего этого перечня в России распространены стационарные терминалы типа PAX s300 и sp30 — на описании интеграции с ними и остановимся в первую очередь.

Терминал PAX

Давайте немного расскажем о том, как работают банковские терминалы вообще. Когда совершается транзакция, то есть средства списываются со счета покупателя в пользу продавца, деньги не попадают сразу на счет продавца, а сначала приходят в так называемый Батч (Batch) — пул транзакций. Условно это список транзакций, которые находятся между продавцом и покупателем. В этот момент можно легко отменить транзакцию, или добавить к ней чаевые (в России к сожалению нельзя). Как часто и когда закрывается батч — зависит от настроек прошивки конкретного терминала, но чаще всего это происходит раз в день в нерабочее время.

И тут мы приходим к первой проблеме, с которой сталкивались пользователи Aptito: из-за непродуманности настройки прошивки терминалов, батч закрывался в самый разгар работы. Официанты не могли провести себе чаевые, так как в США посетители пишут их сумму на чеке после оплаты, а официанты вносят эту транзакцию в платежную систему. Чаевые в США являются основной частью заработка официантов. Можно представить сколько негатива получали менеджеры ресторанов и сама Aptito.

Как мы решили эту проблему?

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

Терминал – это устройство со своей операционной системой, автоматизированным обновлением ОС, включающего в себя все необходимые настройки. Банки в разных странах или даже сами ресторанные сети пишут свои собственные прошивки с предустановленными нужными настройками ОС и ее сборки или прошивки от поставщика оборудования. При этом часто меняется бизнес-логика работы терминалов, накатываются новые обновления. Их не всегда возможно совместить с собственными надстройками более старых версий прошивок. Меняются разработчики и подрядчики, которые обновляли и дорабатывали прошивки, бэклога по работам может не быть вообще. И в какой-то момент наступает сбой в работе ресторана из-за неработающих терминалов. В бизнесе, где транзакции проводятся много раз в час это означает появление недовольных клиентов и удар по репутации ресторана.

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

Какие были проблемы с другими типами терминалов и как мы их решили — читайте далее в нашем блоге.

In this article we would like to share our experience on integration with payment terminals in the restaurant business for a large customer - Aptito.

Aptito is a system for managing small and medium restaurants in the United States. The system helps to create menus and prices, create and manage orders, collects statistics on attendance and sales, the efficiency of waiters. Based on Aptito, you can create your own website or online ordering application. The system consists of 4 main components:

POS - point of sale on tablets
  1. POS - point of sale on tablets
  2. POS - point of sale on tablets (in USA the terminology is different from RF)
  3. mPOS - mobile point of sale, works on smartphones
  4. Menu - menu for visitors
  5. Kiosk is a self-service point, similar to BurgerKing, MacDonalds, KFC self-service stands.
Menu — customer menu

The main goal of Aptito is to make the service to the visitors of the restaurants as good as possible: to give the opportunity to accept the order without leaving your table, immediately afterwards to start preparing the dishes, bring them to you in the best way, accept payment quickly and without adventures.

It is with the stage of payment acceptance from the visitor and we had to work. Restaurants in the United States use a huge number of different terminals to receive payments from customers. To scale the Aptito system, it was necessary to integrate with all that we did. Specifically, they were such terminals:

CardFlight
  1. Stationary Terminal (Ingenico, PAX, Verifone)
  2. Bluetooth or WiFi Terminals (UsaePay, SumUp, PAX)
  3. Directly connected terminal to iPad (Lightning, AUX) (UsaePay, Cardflight)

From all this list, stationary terminals like PAX s300 and sp30 are common in Russia - let's describe the integration with them first.

PAX Terminal

Let's talk a little bit about how bank terminals work in general. When a transaction is made, i.e. funds are deducted from the buyer's account in favor of the seller, the money does not go straight to the seller's account, but first comes to the so-called Batch - a pool of transactions. Conditionally, this is a list of transactions that are between the seller and the buyer. At this point, you can easily cancel the transaction, or add a tip to it (in Russia, unfortunately, you can not). How often and when the batches are closed depends on the firmware settings of a certain terminal, but most often it happens once a day outside working hours.

And here we come to the first problem that Aptito users encountered: due to ill-conceived settings of the terminal firmware, the battle was closed in the midst of work. The waiters couldn't tip themselves, because in the USA the visitors write their amount on the check after payment, and the waiters enter this transaction into the payment system. Tipping in the U.S. is a major part of waiters' income. You can imagine how much negative the restaurant managers and Aptito itself received.

How did we solve this problem?

The terminal firmware and its subsequent iterations did not allow us to control and edit the closing time of the battle, so we standardized the process of terminal configuration before handing it over to customers.

The terminal is a device with its own operating system, automated OS update, which includes all necessary settings. Banks in different countries or even restaurant chains themselves write their own firmware with the necessary OS settings preinstalled and its assembly or firmware from the equipment supplier. At the same time, the business logic of the terminals' operation is often changed and new updates are launched. They cannot always be combined with their own superstructures of older firmware versions. Developers and contractors who have been updating and improving the firmware change, there may be no backlog of work at all. And at some point there comes a failure in the work of the restaurant because of the non-functioning terminals. In a business where transactions are carried out many times per hour, this means the appearance of dissatisfied customers and a blow to the reputation of the restaurant.

In order to protect Aptito users from such a scenario, when terminals are connected, we have added a check of the software version of the connected terminal to determine whether the version is supported or not. If there are any problems at this stage of the check, the terminal signals them and simply does not turn on in the working mode. This saves from the situation when the terminal is working, but incorrectly carries out transactions, which the waiters can not immediately learn about.

What were the problems with other types of terminals and how we solved them - read more in our blog.