Оплата АЗС (FuelPay) — приложение для ОС Аврора

Сервис оплаты топлива на автозаправочной станции. Пользователь выбирает колонку, вид топлива и объём в литрах или сумму в рублях. Приложение формирует платёжный QR-код, который можно отсканировать в приложении любого банка (Сбербанк, Т-Банк, ВТБ, Альфа-Банк и др.). Банк сразу показывает получателя, его реквизиты, сумму и назначение платежа.

Иконка

Возможности

  • 4 топливораздаточные колонки, на каждой доступны все виды топлива.
  • Топливо: АИ-92, АИ-95, АИ-98, ДТ с фиксированными ценами.
  • Ограниченный запас топлива в резервуарах: после оплаты остаток уменьшается. Если топливо заканчивается, его нельзя выбрать.
  • Заказ в литрах или в рублях с быстрыми кнопками (10/20/30/40 л, 500–2000 ₽) и кнопкой «Максимум».
  • Проверки: минимум 1 л, максимум 200 л за заказ, не больше остатка в резервуаре.
  • Платёжный QR-код по ГОСТ Р 56042-2014 (формат ST00012, UTF-8).
  • История заказов (оплаченные и отменённые).
  • Редактор реквизитов получателя с проверкой контрольных разрядов счёта (по БИК) и ИНН.
  • Обложка приложения (cover) с остатками топлива.
  • Все данные хранятся локально на устройстве, сервер не нужен.

Пример данных в QR-коде

ST00012|Name=ООО "ДЕМО-ОЙЛ"|PersonalAcc=40702810200000012345|BankName=ПАО Сбербанк|
BIC=044525225|CorrespAcc=30101810400000000225|PayeeINN=7701234560|KPP=770101001|
Sum=125460|Purpose=Оплата топлива АИ-95, 20,50 л, колонка №3, АЗС №7 «Демо-Ойл», заказ №000001. Без НДС

Сумма (Sum) указывается в копейках.

По умолчанию заданы учебные реквизиты (несуществующая организация). Чтобы провести реальный платёж, укажите свои реквизиты: главный экран → потяните вниз → «Реквизиты получателя».

Структура проекта

ru.azs.FuelPay.pro          — проект qmake
ru.azs.FuelPay.desktop      — ярлык приложения
rpm/ru.azs.FuelPay.spec     — описание RPM-пакета
src/main.cpp                — точка входа
src/storage.{h,cpp}         — хранилище данных (QSettings)
qml/FuelPay.qml             — окно приложения
qml/components/Station.qml  — состояние АЗС: остатки, заказы, реквизиты
qml/components/QrCodeView.qml — отрисовка QR-кода
qml/js/qrcode.js            — генератор QR-кода (ISO/IEC 18004), без сторонних библиотек
qml/js/logic.js             — цены, расчёты, формирование платёжной строки
qml/pages/                  — экраны приложения
icons/                      — иконки 86, 108, 128, 172 px

Сборка

Требуется Аврора SDK 5.x.

  1. Откройте ru.azs.FuelPay.pro в Aurora IDE.
  2. Выберите комплект AuroraOS-…-x86_64 (для эмулятора) или armv7hl/aarch64 (для устройства).
  3. Нажмите «Запустить» (зелёный треугольник). Приложение будет собрано в RPM, установлено в эмулятор и запущено.

Сборка из командной строки:

sfdk config target=AuroraOS-5.2.1.200-MB2-x86_64
sfdk build

Готовый пакет появится в каталоге RPMS/.

Лицензия

BSD-3-Clause