Інтеграція tetyafanya.online з WEB API ПРРО Cashälot: автоматична фіскалізація чеків та відправка
Опис завдання
Потрібно підключити сайт tetyafanya.online до WEB API ПРРО Cashälot, щоб після успішної онлайн-оплати автоматично формувався фіскальний чек і відправлявся в ДПС, а фіскальні реквізити зберігалися в замовленні і відправлялися клієнту (посилання/QR/PDF).
Виконавцю необхідно реалізувати повний цикл: відкриття/закриття зміни, реєстрація чеків (в т.ч. сторно при поверненнях), Z-звіти, обробка офлайн-режиму, логування і безпечне зберігання ключів КЕП/SmartID/PIN.
Вимаганий результат (що повинно працювати)
Авто-фіскалізація при оплаті
Після webhook «успішна оплата» від платіжного провайдера сайт викликаєRegisterCheckв Cashälot:з AutoOpenShift=true (якщо зміна не відкрита — відкрити автоматично),
отримати Url/QR чека (для вкладки замовлення і листа клієнту),
зберегти NumFiscal (фіскальний №), дату/час і статус (онлайн/офлайн).
Повернення / сторно
По події «refund/скасування» — реєструвати сторнуючий чек черезRegisterCheck(DOCSUBTYPE=CheckStorno) з передачею реквізитів вихідного чека (StornedCheck).Зміна і Z-звіт
Авто-закриття зміни через
CloseShiftз параметром ZRepAuto=true (якщо Z ще не сформований).Можливість вручну викликати
RegisterZRepз адмінки.Перегляд підсумків поточної зміни через
LastShiftTotals.
Офлайн-режим
При недоступності ФСКО працювати в офлайн: акумулювати документи, потім автоматично перейти онлайн і дозареєструвати офлайн-чек; при розсинхронізації —Cleanup.Отримання чека/Z
Можливість підтягнути готовий чек/Z з сервера по фіскальному номеру (GetCheck/GetZRep) для відображення/повторної відправки клієнту.Безпека ключів і налаштувань
Додати екран налаштування: завантаження сертифіката/ключа (або SmartID/KeyPin), прив'язка до потрібного NumFiscal ПРРО.
Зберігання секретів поза web-root, в
.env/захищених конфігураційних сховищах.Підтримка полегшеного режиму KeyPin (якщо включено в бек-офісі), де в командах не передаються Certificate/PrivateKey/Password.
Адмін-інтерфейс
В картці замовлення: статус фіскалізації, NumFiscal, посилання на чек (Url), QR (img), offline/online прапор, лог останніх спроб.
Кнопки: «Переослати чек», «Сформувати Z-звіт», «Закрити зміну», «Очищення/синхронізація (Cleanup)».
Сповіщення клієнту
Після успішної оплати відправити e-mail з посиланням/QR на чек (і/або вкладення HTML/PDF візуалізації, якщо використовується
Visualization/VisAsHtml).
Логи і стійкість
Журнал запитів/відповідей API (безпечне маскування персональних і ключових даних).
Ретраї при тимчасових збоях; черга на переосилку.
Алерти в адмінці при
ErrorCode/ErrorMessage.Технічні деталі реалізації (що саме робити розробнику)
1) Підключення до Cashälot
Налаштувати
Setupдля зберігання параметрів КЕП/SmartID (Certificate/PrivateKey/Password/UseSmartId) або використовувати KeyPin відповідно до включеної інтеграції в бек-офісі
При старті перевіряти доступність сервера (ServerState) і стан ПРРО (TransactionsRegistrarState).2) Потік «Оплата → чек»
Слухати webhook платіжної системи «успішно оплачено».
Сформувати структуру чека (послуга, сума, податки/без ПДВ), викликати
RegisterCheckз:NumFiscal= фіскальний номер ПРРО;Check= дані чека (послуга/позиція/підсумок/оплата);AutoOpenShift=true(якщо зміна не відкрита, відкрити автоматично);GetQrCode=true, за необхідностіVisualization/VisAsHtml.
Відповідь API: зберегти
NumFiscal,NumLocal,OrderDateTime, прапорOffline,UrlіQrCodeв замовленні.
3) Повернення/скасування
На подію повернення —
RegisterCheckз типом CheckStorno, передавши StornedCheck (абоStornedCheckToConvert), щоб коректно порахувалися підсумки зміни.
4) Зміна і Z-звіт
При закритті дня —
CloseShift (ZRepAuto=true);Альтернатива: окрема кнопка
RegisterZRep(якщо потрібно до закриття).Перегляд підсумків зміни —
LastShiftTotals(для адмін-екрану).
5) Офлайн / розсинхронізація
При
OfflineDocumentsPresent→ періодично намагатися авто-регистрацію;При
InconsistentRegistrarState→ запускатиCleanup(з інформуванням адміна), де потрібно.
6) Отримання документів
За вимогою адміна —
GetCheck/GetZRepз опцієюVisualizationіGetQrCode(для повторної відправки клієнту).
Додатки 1
-
Здравствуйте, есть опыт привязки кашалота к сайту, могу проконсультировать вас
-
Актуальні фриланс-проєкти в категорії CMS
Адміністратор-налаштувальник LearnWorldsЗадача Настроїти готову платформу LearnWorlds під елітний онлайн-курс. Не розробляти архітектуру — реалізувати вже готову структуру руками в адмін-панелі. ———————— Що потрібно зробити: Брендинг ⦁ Підключити свій домен ⦁ Завантажити логотип, налаштувати фірмові кольори ⦁… CMS, Веб-програмування ∙ 12 годин 39 хвилин тому ∙ 8 ставок |
Адаптивний дизайн портфоліо вебсайту (wordap - сайт для продажу та купівлі)Мені потрібен чистий, сучасний портфоліо-сайт, який відповідає моєму існуючому брендовому посібнику і гарно адаптується до настільних комп'ютерів, планшетів і мобільних пристроїв. Завдання сайту просте: підкреслити мою роботу за допомогою вражаючих фотографій, вбудованих відео… CMS, Веб-програмування ∙ 1 день 7 годин тому ∙ 39 ставок |
Перенести повністю готову адаптивну HTML5-структуру в WordPress.
12 000 UAH
Я шукаю досвідченого WordPress-розробника, який зможе перетворити наш ретельно підготовлений статичний HTML5/CSS3 код у високопродуктивну кастомну WordPress-тему. Фронтенд уже практично готовий (приблизно 99%): семантична розмітка, метадані та мультимовна структура (hreflang)… CMS, PHP ∙ 1 день 21 година тому ∙ 61 ставка |
Потрібен сильний WordPress / WooCommerce спеціаліст для доопрацювання сайту MARSPROШукаємо відповідального фрілансера або невелику команду для якісного завершення та технічного доопрацювання сайту компанії MARSPRO. Сайт вже працює, але після попереднього розробника залишилось багато дрібних і важливих технічних проблем. Нам потрібна людина, яка зможе не просто… CMS, HTML та CSS верстання ∙ 2 дні 11 годин тому ∙ 44 ставки |
Розробка сучасного сайту для Театру
10 000 UAH
Шукаємо веброзробника для створення офіційного сайту сучасної культурної платформи. Проєкт об'єднує театральні, мистецькі, освітні та культурні ініціативи. Необхідно створити сучасний адаптивний сайт, який буде одночасно виконувати іміджеву функцію, презентувати події та… CMS, Веб-програмування ∙ 2 дні 13 годин тому ∙ 110 ставок |