Add Nova Poshta tracking: TTN status, COD amount, payment status

Adds NpTrackingClient (Protocol + real/stub impls) and an ARQ worker that
polls Nova Poshta every minute for orders without a receipt, writing
status, net COD amount (Контроль оплати), and payment status onto the
order. Surfaced in the orders table and detail modal. Marks plan stages
3-4 done in README.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 22:33:58 +03:00
co-authored by Claude Sonnet 5
parent f4072be451
commit d13e7ce2b3
20 changed files with 496 additions and 14 deletions
+3 -5
View File
@@ -75,11 +75,9 @@ services:
environment:
POSTGRES_HOST: postgres
REDIS_HOST: redis
# Подключается на этапе 4 (Нова Пошта) — сейчас заглушка, чтобы структура
# compose не менялась задним числом.
command: ["python", "-c", "print('worker placeholder: см. этап 4 плана'); import time; time.sleep(3600)"]
# Заглушка ничего не слушает на 8000, а HEALTHCHECK бэкенда унаследован
# из общего образа — без отключения контейнер вечно висел бы "unhealthy".
command: ["arq", "app.worker.WorkerSettings"]
# ARQ ничего не слушает на 8000, а HEALTHCHECK бэкенда унаследован из
# общего образа — без отключения контейнер вечно висел бы "unhealthy".
healthcheck:
disable: true
depends_on: