Зміст
Посібник користувача: способи оплати й платіжні системи, як рухаються гроші бронювання між клієнтом, виконавцем і платформою, що бачить і робить кожен - клієнт (оплата і платежі в профілі), виконавець (гаманець і виплати), адміністратор (усі платежі, повернення, повторне списання, комісія платформи, виплати, довідники). Застосунок для компаній не розглядається.
1. Фінанси: як рухаються гроші
Клієнт платить за бронювання карткою (через сторінку платіжної системи) або готівкою виконавцю. Платформа бере з кожного оплаченого бронювання свою комісію, а решта — заробіток виконавця — накопичується в його гаманці, доки він не попросить виплату. Адміністратор бачить усі гроші платформи, повертає кошти клієнтам, повторно списує неоплачене, виплачує виконавцям без компанії й веде довідники платежів.
1.1. Де знаходиться
| Хто | Де | Що там |
|---|---|---|
| Клієнт | Сторінка бронювання — «Оплатити», «Запросити повернення»; «Мій профіль» → «Профіль користувача» → вкладки «Гаманець», «Способи оплати» | Оплата (посібник «Бронювання»), гаманець з усіма оплатами, поверненнями й винагородами, збережені картки, запит на повернення через підтримку (розділ 2). |
| Виконавець | «Мій профіль» → «Профіль користувача» → «Гаманець»; «Мій профіль» → «Запит на виплату»; «Налаштування» — реквізити; дзвіночок | Баланс і всі рухи коштів, запит на виплату та її історія, сповіщення «виплачено / відхилено» з переходом у гаманець (розділ 3). |
| Адміністратор | Меню «Фінанси»: «Огляд», «Платежі», «Транзакції гаманців», «Запити на виплату», «Довідники платежів»; у профілі клієнта / виконавця — вкладка «Гаманець» (те саме, що бачить сам користувач) | Розділ 4. |
1.2. Способи оплати й платіжні системи
| Спосіб | Як працює |
|---|---|
| Картка | Клієнт натискає «Оплатити» на сторінці бронювання й платить на сторінці платіжної системи; повертається на сайт, бронювання переходить далі само. Передоплата — одразу після вибору виконавця, який працює з передоплатою; залишок або вся сума — після завершення. Збережену картку («Способи оплати») адміністратор може використати для повторного списання (4.2). |
| Готівка | Клієнт віддає гроші виконавцю, обидва підтверджують; у платежах з'являється запис «Готівка — Сплачено». Передоплату готівкою не приймають. |
| Платіжна система | Коли використовується |
|---|---|
| LiqPay (ПриватБанк) | Основна для України: налаштування головної компанії payment_gateway = liqpay і ключі LIQPAY_PUBLIC_KEY / LIQPAY_PRIVATE_KEY (LIQPAY_SANDBOX=true — тестовий режим без реальних грошей). Результат оплати LiqPay надсилає на …/api/system/payments/liqpay-callback. При збереженні картки LiqPay знімає 1 грн для перевірки й одразу повертає. |
| Stripe | Якщо налаштування payment_gateway не задане (за замовчуванням) або дорівнює stripe, потрібен STRIPE_SECRET_KEY. |
| Тестовий шлюз | PAYMENT_GATEWAY_TEST_MODE=true: власна сторінка «Оплатити / Відхилити», картка Visa 4242, без реальних грошей. Увімкнено на локальному стенді й зараз на продакшні (на час тестування); перед запуском з реальними грошима — false і налаштування головної компанії payment_gateway = liqpay. На скриншотах цього посібника — він («Тестовий шлюз»). |
Повернення завжди йде через ту платіжну систему, якою платили, навіть якщо налаштування змінили пізніше. Валюта платежів — EUR.
1.3. Гроші одного бронювання
| Подія | Платежі клієнта | Гаманець виконавця | Платформа |
|---|---|---|---|
| Клієнт сплатив передоплату / залишок карткою | Запис «Передоплата» / «Залишок» / «Повна оплата» — «Сплачено» | — | Гроші на рахунку платформи в платіжній системі |
| Бронювання «Оплачено», картка | — | + вся сплачена карткою сума («Оплата за бронювання»), − комісія («Комісія платформи») | Комісія |
| Бронювання «Оплачено», готівка | «Готівка — Сплачено» | − комісія (гроші в руках виконавця, тож баланс може стати від'ємним) | Комісія — борг виконавця |
| Клієнт скасував пізно | Повернення за правилами послуги («Частково повернено») | + частина неповерненої суми («Компенсація за скасоване бронювання») | Решта неповерненої суми — окремий рух «Частка платформи за скасування» (див. приклад нижче) |
| Скасував виконавець або платформа | Повернення всієї суми | — | — |
| Реферальна винагорода | — | + «Реферальна винагорода» (і в гаманці клієнта) | — |
| Виплату виконано | — | − «Виплата #N» | Переказ на IBAN виконавця |
Приклад пізнього скасування. Клієнт сплатив передоплату 100 EUR і скасував за 6 годин до початку. За правилами послуги йому повертається 50% — 50 EUR. Решта 50 EUR лишається неповерненою й ділиться за «Часткою платформи при пізньому скасуванні» (за замовчуванням 50%): 25 EUR отримує виконавець як компенсацію за зірваний час, 25 EUR лишається платформі. Обидві суми записуються: виконавцю — у гаманець, платформі — окремим рухом, який адміністратор бачить в «Огляді» (картки «Частка платформи при скасуванні» і «Дохід платформи») і в «Транзакції гаманців» (4.1, 4.3).
Комісія задається для кожної послуги в «Каталог послуг»: відсоток від ціни, фіксована сума або підписка (поки не стягується). Там же «Частка платформи при пізньому скасуванні» і «Борг, що блокує»: якщо від'ємний баланс виконавця сягає цієї суми, нові заявки на цю послугу йому недоступні, доки не покриє борг. Поточні ставки видно в «Фінанси» → «Огляд» (4.1).
1.4. Статуси платежу
| Статус | Що означає |
|---|---|
| Очікує оплати | Сторінку платіжної системи відкрито, оплати ще немає. |
| Сплачено | Гроші отримано (карткою або готівкою). |
| Неуспішно | Клієнт відмовився або банк відхилив. Бронювання чекає оплати далі: клієнт платить ще раз, або адміністратор списує зі збереженої картки. |
| Скасовано | Клієнт закрив сторінку оплати й почав нову спробу — стара замінена. |
| Частково повернено / Повернено | Частину або всю суму повернуто на картку (скасування бронювання або повернення адміністратором). |
2. Фінанси для клієнта
Клієнт лише платить: карткою на сторінці платіжної системи або готівкою виконавцю. Як платити передоплату, залишок і що повертається при скасуванні — посібник «Бронювання». Усі свої гроші клієнт бачить у гаманці — так само, як виконавець.
2.1. Гаманець
«Мій профіль» → «Профіль користувача» → вкладка «Гаманець» (туди ж веде старе посилання /payments). Баланс (реферальні винагороди) і всі рухи грошей, нові вгорі, з фільтром «Сьогодні / Тиждень / Місяць / Рік / Довільний період»:
| Тип | Опис | Сума |
|---|---|---|
| Оплата бронювання | «Передоплата / Залишок / Оплата за бронювання #… (картка **** 4242 або готівка)» | − сума |
| Повернення на картку | «Повернення на картку за бронювання #…» — у день повернення (при скасуванні або через підтримку) | + сума |
| Реферальна винагорода | «Реферальна винагорода за бронювання #…» | + сума |
Невдала спроба оплати в гаманець не потрапляє — гроші тоді не списано. Оплата карткою йде з картки, а не з балансу гаманця, тому баланс від неї не змінюється.

2.2. Способи оплати
Вкладка «Способи оплати» (стара адреса /payment-methods веде сюди): таблиця збережених карток.
- Зліва — «Додати картку»: відкриває сторінку платіжної системи. Після повернення профіль сам відкривається на цій вкладці з новою карткою.
- Фільтри: «Останні цифри картки» і тип картки (VISA, MASTERCARD…), «Очистити фільтри». Пошук, сортування (картка, «Діє до», «Додано») і сторінки (10 / 25 / 50) працюють на сервері.
- Колонки: картка, «Діє до» (прострочену позначено червоним), «Додано», «Основна».
- Дії: зірочка — «Зробити основною», кошик — «Видалити» (з підтвердженням «Видалити картку VISA **** 4242? Оплачувати нею вже не вийде.»).
Основну картку адміністратор використовує для повторного списання, якщо оплата бронювання не пройшла (4.2).
Оплата збереженою карткою. На сторінці бронювання кнопка «Сплатити передоплату …» / «Сплатити …»:
- немає збережених карток — сторінка платіжної системи, як і раніше;
- одна картка — під кнопкою «Буде списано з картки VISA **** 4242.»; натискання одразу списує з неї (без сторінки платіжної системи) → «Оплачено карткою VISA **** 4242», бронювання переходить у «Підтверджено» / «Оплачено». Поруч — «Оплатити іншою карткою» (сторінка платіжної системи);
- кілька карток — додатковий крок «Чим оплатити»: список карток (основна вибрана наперед) і «Нова картка (сторінка платіжної системи)» → «Оплатити».
Якщо банк відхилив картку — повідомлення «Банк відхилив оплату цією карткою. Спробуйте іншу картку.», бронювання чекає оплати далі; в історії платежу — «Неуспішно». Успішна оплата в історії платежу (адмінка, 4.2) — «Сплачено збереженою карткою (клієнт)».




2.3. Запросити повернення
Гроші при скасуванні повертаються самі (за правилами послуги). Будь-яке інше повернення — через підтримку: на сторінці бронювання під платежами кнопка «Запросити повернення» (видно, поки за картковим платежем є що повертати). Вона відкриває форму нового звернення, вже заповнену: тема «Повернення коштів за бронювання BK-…», категорія «Оплата», опис із номером платежу й сумою — клієнт дописує причину й надсилає. Звернення потрапляє в чергу підтримки; адміністратор повертає гроші в «Фінанси» → «Платежі» (4.2). Мобільний застосунок створює таке саме звернення одразу (POST /clients/payments/my-payments/:id/refund-request).

2.4. Сповіщення
| Подія | Сповіщення клієнту |
|---|---|
| Оплата не пройшла | На сторінці бронювання «Оплату не завершено»; сповіщення «Оплата не пройшла … Спробуйте ще раз на сторінці бронювання» |
| Передоплату сплачено (сам або списанням адміністратора) | «Передоплату сплачено … Бронювання підтверджено» |
| Адміністратор повернув гроші | «Кошти повернено: Підтримка повернула … EUR на вашу картку за бронювання №…» |
| Оплата прийшла, коли сплачувати вже не треба | «Оплату повернено» (повертається автоматично) |
3. Фінанси для виконавця
Виконавець отримує гроші в гаманець і просить виплату на свій банківський рахунок. Виконавцю, який працює в компанії, виплачує компанія; виконавцю без компанії — адміністратор платформи (4.4).
3.1. Гаманець
«Мій профіль» → «Профіль користувача» → «Гаманець»: баланс і всі рухи коштів з фільтром «Сьогодні / Тиждень / Місяць / Рік / Довільний період». Тип і опис — мовою виконавця:
| Тип | Опис | Коли |
|---|---|---|
| Оплата за бронювання | «Оплата карткою за бронювання BK-…» | Бронювання карткою стало «Оплачено» — уся сплачена клієнтом сума. |
| Оплата за бронювання | «Компенсація за скасоване бронювання BK-…» | Клієнт пізно скасував передоплачене бронювання — частина утриманої суми. |
| Комісія платформи | «Комісія платформи за бронювання #… (картка / готівка)» | Бронювання стало «Оплачено» (−). |
| Реферальна винагорода | «Реферальна винагорода за бронювання #…» | Хтось із запрошених оплатив бронювання. |
| Виплата | «Виплата #N» | Адміністратор (або компанія) виплатив запит (−). |
| Нарахування / Списання адміністратором | Текст адміністратора | Ручне коригування (−/+). Сюди ж — утримання при поверненні клієнту: «Повернуто клієнту за бронювання BK-…». |
Від'ємний баланс — це борг за комісію з готівкових бронювань; він покривається наступними картковими бронюваннями.

3.2. Запит на виплату
«Мій профіль» → «Запит на виплату» або кнопка «Запит на виплату» в гаманці. Угорі — «Доступний баланс» і кнопка «Запросити виплату». Вона відкриває вікно: баланс, рахунок, на який прийдуть гроші (банк та IBAN з «Налаштування» → «Реквізити для виплат»; якщо їх немає — посилання на налаштування, надіслати запит не можна), поле «Сума» (за замовчуванням увесь баланс, більше не дозволить) і «Надіслати запит». Одночасно може чекати лише один запит — тоді кнопка неактивна з підказкою «Запит уже очікує розгляду».

«Історія виплат» — таблиця: дата, сума, статус («Очікує», «Виплачено», «Відхилено», «Скасовано»), примітка (дата виплати або причина відхилення від адміністратора) і «Скасувати запит» для запиту, що ще очікує (наприклад, помилилися із сумою). Після «Виплачено» сума списується з гаманця; сторінка оновлюється сама.

Коли адміністратор виплатив або відхилив запит, виконавцю приходить сповіщення: у дзвіночку («60.00 EUR переказано на ваш рахунок» або «Запит на виплату … відхилено: причина») і push у мобільний застосунок. Клік по сповіщенню відкриває гаманець.


4. Фінанси в адмін-панелі
Меню «Фінанси»: «Огляд», «Платежі», «Транзакції гаманців», «Запити на виплату», «Довідники платежів». Розділ видно ролям, яким дано модуль «Платежі» (суперадміністратор — за замовчуванням); перегляд — право читання, повернення, списання, виплати й зміни довідників — право редагування.
4.1. Огляд
Гроші платформи за період: «Сьогодні», «7 днів», «Цей місяць» (за замовчуванням), «Цей рік», «За весь час» або «Свій період».
| Картка | Що рахує |
|---|---|
| Сплачено карткою | Карткові оплати бронювань, що пройшли (і ті, що потім повернули), та їх кількість. |
| Повернуто клієнтам | Скільки з цих оплат повернуто на картки. |
| Сплачено готівкою | Готівкові бронювання (гроші у виконавців). |
| Неуспішні / ще не сплачені | Кількість карткових платежів, що не пройшли, і тих, що чекають оплати; веде до «Платежі». |
| Дохід платформи | Скільки платформа заробила: комісія + частка при скасуванні. |
| Комісія платформи | Комісія, списана з виконавців за оплачені бронювання. |
| Частка платформи при скасуванні | Що платформа залишила собі з пізніх скасувань клієнтами. Приклад: клієнт сплатив 30 EUR і скасував за 6 годин до початку; йому повернуто 15 (правило послуги — 50%), з решти 15 виконавець отримує 7,50, платформа — 7,50 (частка платформи для послуги — 50%). Кожна така сума — окремий рух «Частка платформи за скасування» (4.3). Картка веде до «Транзакції гаманців». |
| Нараховано виконавцям | Заробіток виконавців за карткові бронювання й компенсації за скасування. |
| Виплачено виконавцям | Виплачені запити за період. |
| Запити на виплату чекають | Сума й кількість запитів виконавців без компанії, які зараз чекають; веде до «Запити на виплату». |
| Платформа винна виконавцям / Виконавці винні платформі | Поточні баланси гаманців виконавців: сума додатних (до виплати) і від'ємних (несплачена комісія з готівки). |
Нижче — «Комісія за послугами»: для кожної активної послуги комісія (відсоток, фіксована сума, «не задано»), частка платформи при пізньому скасуванні й борг, що блокує. Змінюються в «Каталог послуг» (посилання «Змінити в каталозі послуг»).

4.2. Платежі: повернення і повторне списання
Усі платежі всіх клієнтів, нові вгорі: платіж і дата, бронювання й за що, клієнт → виконавець, сума (і скільки повернуто), спосіб (картка •••• 4242, платіжна система), статус. Фільтри: статус, спосіб, номер бронювання, період. Кнопка-око відкриває платіж: усі дані, номер транзакції в платіжній системі, помилка банку (якщо є) та «Історія статусів» — коли, з якого статусу в який, хто змінив (платіжна система, адміністратор…) і причина.

| Кнопка | Коли видно | Що робить |
|---|---|---|
| Повторно списати | Картковий платіж бронювання «Неуспішно» / «Скасовано» / «Очікує оплати» | Після підтвердження списує зі збереженої основної картки клієнта те, що бронювання ще винне зараз (передоплату, якщо воно «Очікує передоплату»; залишок або всю суму, якщо «Завершено»). Вдалося — новий платіж «Сплачено», бронювання саме переходить у «Підтверджено» / «Оплачено», клієнт отримує звичайні сповіщення. Не вдалося — новий платіж «Неуспішно», повідомлення «Картку відхилено». Немає збереженої картки або бронювання вже нічого не винне — пояснення помилкою, нічого не списано. |
| Повернути | Картковий платіж бронювання «Сплачено» / «Частково повернено» | «Сума» (за замовчуванням — усе, що ще можна повернути), «Причина» (бачать лише адміністратори, потрапляє в історію). Гроші йдуть на картку тією ж платіжною системою. Позначка «Утримати цю суму з гаманця виконавця …» — якщо виконавцю вже нараховано за це бронювання (статус «Оплачено») і гроші не мають лишитися в нього: таку саму суму буде списано з його гаманця. Клієнт отримує «Кошти повернено». Так обробляють і звернення «Повернення коштів…» від клієнтів (категорія «Оплата», 2.3). |



Автоматичні повернення при скасуванні бронювання (за правилами послуги) робить система сама — адміністратору нічого натискати не треба; вони теж видно тут і в історії платежу.
4.3. Транзакції гаманців
Усі рухи коштів у гаманцях усіх користувачів: дата, чий гаманець (посилання на профіль виконавця / клієнта), тип, опис мовою адміністратора, сума (+ зелена, − червона), баланс після. Фільтри: тип (наприклад, «Комісія платформи» — усі комісії), власник (виконавець / клієнт / компанія), ID користувача, період.

Дохід платформи від пізніх скасувань тут теж видно окремими рядками: «Чий гаманець» — «Платформа», тип «Частка платформи за скасування», опис «Частка платформи за скасоване бронювання BK-…». Поруч — компенсація виконавцю за те саме бронювання. Щоб побачити лише їх, оберіть у фільтрі тип «Частка платформи за скасування».

Гаманець конкретної людини — також у її профілі («Керування користувачами» → «Клієнти платформи» / «Виконавці платформи» → вкладка «Гаманець»): той самий список, що бачить вона сама (у клієнта — оплати бронювань і повернення, у виконавця — заробіток, комісія, виплати). Там же «Поповнити» / «Списати» — ручне коригування з типом і описом (посібник «Мій профіль»).

4.4. Запити на виплату
Запити виконавців без компанії (виконавцям компаній платить компанія у своєму застосунку). Фільтр «Очікує» (за замовчуванням), «Виплачено», «Відхилено», «Скасовано», «Усі». У рядку: дата, виконавець (посилання на профіль, email), банк і IBAN з його налаштувань, сума, поточний баланс гаманця (червоний, якщо менший за суму).
- Перекажіть суму на IBAN банківським переказом.
- «Виплачено» → за бажанням «Номер переказу» → «Гроші переказано - позначити виплаченим». Сума списується з гаманця виконавця («Виплата #N»), запит — «Виплачено», номер переказу видно в рядку. Якщо на балансі вже не вистачає — помилка, нічого не списано.
«Відхилити» — з причиною (щонайменше 3 символи), її бачить виконавець. Гаманець не змінюється.
Фільтри (усі на сервері, разом зі сторінками 10 / 20 / 50 / 100): статус, «ID виконавця», «Період» (дата запиту, обидва дні включно), «Сума від» / «Сума до»; «Очистити фільтри».
Кілька запитів одразу. Позначте рядки галочками (галочка в заголовку — уся сторінка). Над таблицею з'являється панель: «Вибрано: N на суму X», а якщо за фільтром запитів більше, ніж на сторінці, — «Вибрати всі N за фільтром» (до 1000). Вибір зберігається при переході між сторінками.
- «Позначити виплаченими (k)» — k = запити «Очікує» серед вибраних (інші пропускаються). Вікно показує список (виконавець, IBAN, сума) і загальну суму, один «Номер переказу» для всіх. Кожен запит обробляється окремо: списання з гаманця, статус «Виплачено», сповіщення виконавцю. Підсумок: «Запитів: 2, на суму …». Якщо якийсь не вдалося (наприклад, на балансі вже не вистачає), відкривається список «Не всі запити оброблено» з причиною для кожного; решта оброблені.
- «Відхилити (k)» — одна причина для всіх вибраних запитів «Очікує».
- «Зняти вибір».
Експорт в Excel (.xlsx): якщо щось вибрано — «Експорт вибраних в Excel», інакше «Експорт в Excel» — усі запити за поточним фільтром (до 1000). Колонки: ID, дата запиту, виконавець, email, банк, IBAN, сума, валюта, статус, дата обробки, примітка (номер переказу або причина відхилення); останній рядок — «Разом».






4.5. Довідники платежів
Вкладки: «Способи оплати», «Статуси платежів», «Типи платежів», «Типи рухів гаманця», «Типи транзакцій», «Хто змінив статус». У кожному записі: код (за ним працює система, не змінюється), як показується в панелі, збережена назва, опис, порядок. Олівець — змінити збережену назву (її показують мобільні застосунки й місця без перекладу), опис і порядок. Способи оплати можна вимикати й вмикати: вимкнений більше не пропонується; готівка й корпоративний рахунок увімкнені «завжди». Статуси й типи не вимикаються — на них спирається логіка платежів.


4.6. Рахунки агенціям (заплановано)
Виставлення рахунків агенціям за роботу на платформі ще не налаштоване для бронювань. У бекенді є модуль рахунків (створення, надсилання, PDF, оплата, прострочені) з часів таксі-платформи — його буде адаптовано, коли з'являться агенції.
5. Виправлено під час підготовки документа та відкриті питання
Фінанси клієнта, виконавця й адміністратора пройдено в браузері, кожна дія перевірена в базі: Playwright frontend-tests/e2e/finance/finance-guide.spec.ts, API — backend-tests/api/admin-finance/test-admin-finance.ps1. На продакшн виправлення потраплять з наступним деплоєм.
5.1. Виправлено
| # | Що було | Що зроблено |
|---|---|---|
| F1 | В адмінці з фінансів був лише список «Платежі платформи» в групі «Підписки» — тільки перегляд, лише платежі головної компанії, статуси, способи й типи англійською, суми без валюти, дати в американському форматі. | Група меню «Фінанси»: огляд, платежі, транзакції гаманців, запити на виплату, довідники. Платежі всіх компаній, з фільтрами, історією статусів, перекладеними підписами, валютою. |
| F2 | Адміністратор не міг повернути гроші клієнту. | «Повернути» — вся сума або частина, на картку тією ж платіжною системою, з причиною; за бажанням утримати з гаманця виконавця; клієнту — «Кошти повернено». |
| F3 | Неоплачене бронювання адміністратор не міг доплатити: повторне списання було лише для старих таксі-замовлень. | «Повторно списати» зі збереженої картки клієнта — бронювання саме переходить у «Підтверджено» / «Оплачено». |
| F4 | Скільки заробляє платформа (комісія), ніде не було видно. | «Огляд»: комісія платформи за період, гроші клієнтів, повернення, нарахування й виплати виконавцям, борги, ставки комісії за послугами. |
| F5 | Запити на виплату виконавців без компанії ніхто не міг обробити: сторінки не було, а список запитів компанії «0» сервер повертав як «усі компанії». | «Запити на виплату» з IBAN і балансом: «Виплачено» (списує гаманець) або «Відхилити» з причиною; запит компанії адмінка не чіпає. |
| F6 | Клієнт не бачив своїх оплат бронювань у профілі (гаманець показував лише винагороди і лише першу сторінку — кількість записів читалась не з того поля); сторінка /payments — суму без валюти, статус англійською, без бронювання. Адміністратор у профілі клієнта бачив порожній гаманець виконавця замість клієнтського. | «Гаманець» клієнта як у виконавця: оплати бронювань (−), повернення на картку (+), винагороди, з пагінацією; /payments веде туди. Те саме в профілі клієнта в адмінці. |
| F7 | Витік даних: GET /clients/payments/receipts віддавав будь-якому клієнту завершені платежі всіх клієнтів. | Лише власні. |
| F8 | Мобільний застосунок клієнта пропонував лише готівку, якщо налаштовано LiqPay без Stripe (картка вважалась доступною тільки зі Stripe). | Картка доступна з будь-якою налаштованою платіжною системою (LiqPay, Stripe, тестовий шлюз). |
| F9 | Фільтри платежів за сумою й валютою ламали весь запит (неіснуючі колонки). | Працюють; додано фільтр за бронюванням. |
| F10 | Ручне повернення через загальний механізм ішло платіжною системою, обраною зараз, а не тією, якою платили; деталі платежу завжди показували EUR. | Платіжна система самого платежу; валюта платежу. |
| F11 | Описи в гаманці англійською: «Card payment for booking…», «Platform commission (EVENTS, card)…», «Cancellation compensation…»; виплата виглядала як «Списання адміністратором»; в історії платежу — «Saved card charged by admin», «Refund 10.00 EUR». | Мовою користувача (гаманець виконавця, профілі в адмінці, «Транзакції гаманців», історія платежу); виплата — тип «Виплата». |
| F12 | Після «Додати картку» профіль відкривався на «Загальне» — здавалося, що картку не додано. | Відкривається вкладка «Способи оплати» з новою карткою. |
| F13 | Виконавець не міг відкликати свій запит на виплату й не бачив, чому запит відхилили. | «Скасувати запит» для запиту, що очікує; причина відхилення в історії. |
| F15 | Запит клієнта на повернення (POST /clients/payments/my-payments/:id/refund-request, мобільний застосунок) звертався до неіснуючого ендпоінта й завжди падав. | Створює звернення в підтримку (категорія «Оплата») лише для власного карткового платежу, за яким є що повертати; у вебі — кнопка «Запросити повернення» з заповненою формою звернення. |
| F16 | Про «Виплачено» / «Відхилено» виконавець дізнавався лише на сторінці виплат. | Сповіщення в дзвіночку й push, клік відкриває гаманець; профіль відкриває вкладку з адреси (?tab=wallet). |
| F17 | Частку платформи при пізньому скасуванні (наприклад, 7,50 з утриманих 15 EUR) ніде не записували: «Огляд» її не показував, у транзакціях її не було. | Окремий рух «Частка платформи за скасування» на гаманці платформи; в «Огляді» — картки «Частка платформи при скасуванні» і «Дохід платформи» (комісія + частка); у «Транзакції гаманців» — рядок «Платформа». Якщо клієнту повернуто все, частки немає. |
| F18 | Застосунок компаній: у деталях запиту на виплату завжди було «реквізитів немає» — IBAN шукали за назвою ключа payout_iban, а він зберігається як payout-iban. | IBAN виконавця видно в деталях запиту. |
| F19 | Запити на виплату можна було обробляти лише по одному, без фільтрів (крім статусу) і без вивантаження; фільтр запитів за датою «до» не включав останній день. | Вибір кількох запитів (і всіх за фільтром) із загальною сумою, «Позначити виплаченими» / «Відхилити» для вибраних, експорт вибраних або відфільтрованих в Excel; фільтри за виконавцем, періодом і сумою на сервері; «до» включає весь день. |
| F20 | «Способи оплати» клієнта — картки списком без пошуку й сторінок; окрема сторінка /payment-methods дублювала вкладку профілю; видалення без підтвердження. | Таблиця з «Додати картку» зліва, фільтрами за цифрами й типом, сортуванням і сторінками на сервері, підтвердженням видалення; /payment-methods веде на вкладку. Мобільний застосунок отримує список, як і раніше. |
| F21 | Клієнт щоразу вводив картку на сторінці платіжної системи, хоча мав збережені. | Оплата збереженою карткою: одна — одним натисканням, кілька — крок «Чим оплатити» (2.2). |
| F14 | Довідники платежів можна було лише переглядати (у застосунку компанії). | «Довідники платежів» в адмінці: назва, опис, порядок; вмикання способів оплати (готівку й статуси вимкнути не можна). |
| F22 | Новий виконавець без компанії (незалежний) при відкритті історії заробітку отримував помилку сервера: гаманець не створювався. | Гаманець створюється автоматично; історія й підсумки відкриваються. |
5.2. Відкриті питання (потрібне рішення)
- Продакшн у тестовому режимі. Ключі LiqPay (sandbox) на продакшні є; з 2026-11-07 там
PAYMENT_GATEWAY_TEST_MODE=true— оплата йде через тестову сторінку без грошей. Перед запуском:false, бойові ключі LiqPay,LIQPAY_SANDBOX=falseі налаштування головної компаніїpayment_gateway = liqpay(без нього — Stripe, ключа якого немає). - Рахунки агенціям — заплановано (4.6).
- Збережені назви в довідниках англійською (мобільні застосунки показують їх як є).