Сумма: 0
Количество заявок: 5
23.06.26 (включительно)
Обговаривается
Идея
Задачи ИКТ
Medicine
Другие технологические решения
ПО/ИС
Обработка безналичных платежей в клиниках, не имеющих прямой API-интеграции с банками, создает огромные операционные риски: Финансовый фрод и человеческий фактор: Кассиры вынуждены вручную вбивать суммы счетов в физические терминалы Kaspi. Ошибки в нулях (пробили 5 000 вместо 50 000) приводят к прямым финансовым потерям . Пациенты могут показывать кассирам поддельные скриншоты или фейковые приложения переводов, обманывая регистратуру. Очереди из-за ручной синхронизации: После того как платеж прошел на банковском терминале, кассиру нужно вручную найти карту пациента в МИС (или таблице Excel) и отметить этот счет как оплаченный . Это двойная работа, из-за которой время обслуживания одного пациента на кассе может достигать 3-5 минут, создавая раздражающие очереди. Хаос в смешанных оплатах: Когда пациент платит разными способами, в старых системах невозможно разбить один чек на части. Кассирам приходится создавать два разных счета или вести учет "в тетрадке", что в итоге приводит к огромным расхождениям в Z-отчетах при закрытии смены
Запуск финтех-модуля интеграции с Kaspi Ecosystem выведет процесс приема оплат клиники на Enterprise-уровень: 100% защита от мошенничества: Жесткая криптографическая проверка подписей Kaspi Webhooks (HMAC-SHA256) сделает подделку статусов оплат технически невозможной. Интерфейс кассира обновится только тогда, когда деньги физически поступят на счет клиники . Полная автоматизация и скорость: Целевое время получения Kaspi QR-кода составит от 1.5 до 3 секунд. После оплаты на стороне пациента, система DCH атомарно изменит статусы транзакций и счетов вообще без участия кассира, радикально сократив время расчета пациента до нескольких секунд. Математически точная сходимость кассы: Архитектура смешанной оплаты (SUM(transaction.amount) = invoice.total_amount) и автоматическая регистрация методов платежей навсегда устранит расхождения при подведении итогов и сверке Z-отчетов в конце рабочего дня
Амина Агзамова
Цель и описание задачи (проекта)
Создать безопасный, высокоскоростной и полностью автоматизированный шлюз для приема безналичных оплат от пациентов. Главная задача данного блока — бесшовно интегрировать Kaspi Pay API в кассовый интерфейс DCH, исключить ручной ввод сумм на физических терминалах, автоматизировать получение статусов оплат (через Webhooks и Polling) и реализовать сложную механику «смешанной оплаты», гарантируя криптографическую защиту транзакций. Детальное описание функционала и технических решений: Глубокая интеграция с Kaspi Pay API (QR-платежи): Разработка механики динамической генерации QR-кодов. При выборе метода оплаты «Kaspi QR», бэкенд DCH делает запрос POST /api/v2/payments/kaspi/qr к внешнему API Kaspi, передавая точную сумму и уникальный invoice_id . В ответ сервер возвращает графический QR-код (base64 PNG) и payment_id, которые мгновенно отображаются на экране кассира . Таймаут ожидания оплаты по сгенерированному QR-коду составляет 15 минут . Двойная система отслеживания статуса (Polling + Webhooks): Для гарантированного подтверждения платежа внедряется отказоустойчивая связка. Клиентская часть (POS-экран) запускает поллинг: отправляет запросы GET /api/v2/payments/:payment_id/status каждые 3 секунды . Параллельно бэкенд DCH настраивает защищенный эндпоинт POST /api/v2/webhooks/kaspi для приема асинхронных уведомлений (Webhooks) от серверов Kaspi о смене статуса платежа . Криптографическая защита транзакций: Это критический элемент безопасности. Любой входящий webhook от Kaspi проходит обязательную верификацию. Система рассчитывает хэш HMAC-SHA256(body, kaspi_webhook_secret) и сверяет его с подписью из заголовка . Запросы без валидной подписи мгновенно отклоняются с ошибкой HTTP 401, что делает невозможным подмену статуса платежа злоумышленниками . При статусе PAID система атомарно обновляет транзакцию, меняет статус счета и публикует WebSocket-событие payment.completed для интерфейса . Механика Kaspi Рассрочки: Внедрение эндпоинта POST /api/v2/payments/kaspi/installment для интеграции возможности выбора периода рассрочки (3, 6 или 12 месяцев) прямо из POS-терминала DCH . Одобрение кредита банком происходит асинхронно, а статус в DCH обновляется через webhook . Смешанная оплата (Mixed Payments): Реализация сложной бизнес-логики для случаев, когда пациент хочет оплатить один счет разными способами (например, 30 000 тг наличными и 20 000 тг через Kaspi QR) . Интерфейс предоставляет два поля для ввода. Сервер создает две разные транзакции (с методами cash и kaspi_qr), привязанные к одному счету, и проводит жесткую математическую валидацию: SUM(transaction.amount) = invoice.total_amount (с точностью до 1 тенге) . Банковские карты и PCI DSS: DCH не хранит и не передает данные банковских карт, оставляя физическую обработку POS-терминалам (обеспечивая соответствие PCI DSS) . Кассир нажимает кнопку «Оплата прошла» после подтверждения на физическом банковском терминале, и DCH фиксирует этот метод в системе