Qut Pay Сайт Кабинет База знаний Инструкции Документация API ҚАЗРУС
ГлавнаяБаза знаний → Для вашего бизнеса

Медицинский центр

Обновлено: 2026-09-14 · Версия в Markdown

Коротко

В медицинском центре Qut Pay работает в трёх местах: при записи (предоплата или бронь), на стойке регистрации (оплата приёма) и при готовности результата (оплата исследования). Всё сводится к одному действию: вы создаёте счёт, пациент платит через Kaspi, вам приходит webhook. Есть одно особое правило, и оно жёсткое: не пишите в описание счёта диагноз, фамилию врача или что-либо о состоянии пациента. В описании — только название услуги, внутренние данные остаются в metadata.

Конфиденциальность: чего не должно быть в описании

Поле description видит пациент: в уведомлении Kaspi, на странице оплаты и потом в истории Kaspi. Этот текст открыто висит на экране, а телефон в этот момент может держать кто угодно.

Так нельзяТак правильно
«Приём гинеколога, Иванова А.»«Приём специалиста»
«Анализ на ВИЧ»«Лабораторное исследование»
«Консультация нарколога»«Консультация»
«Психиатр, сеанс 2»«Консультация, сеанс 2»
ИИН, дата рождения, номер картыВ metadata

Правильная структура:

POST /api/v1/invoices
{
  "amount": 12000,
  "kind": "qr",
  "description": "Приём специалиста",
  "externalOrderId": "V-2026-09-4471",
  "metadata": {
    "patient_id": "4471",
    "service_code": "A01.20",
    "doctor_id": "d-17",
    "branch": "center"
  }
}

metadata пациенту не показывается и возвращается в вашу систему вместе с webhook — по нему вы и находите пациента. Подробнее: Metadata и номер заказа и Данные и конфиденциальность.

Ещё два момента:

Оплата приёма на регистратуре

  1. Регистратор оформляет приём в МИС, подтягивается услуга и её стоимость.
  2. Система создаёт счёт с нейтральным описанием.
  3. На экране регистратуры появляется QR, пациент сканирует и платит.
  4. Приходит invoice.paid — приём помечается оплаченным, печатается талон.

Окно сканирования QR — около трёх минут, точное время в поле expiresAt. Если очередь задержалась и пациент не успел, выставляете новый счёт.

Если пациент не хочет стоять у стойки — отправьте счёт на телефон: kind: "phone", customer.phone в формате 7XXXXXXXXXX. Ему придёт push в Kaspi, и он оплатит сидя в холле. Здесь description не длиннее 60 символов.

Предоплата и бронирование

При удалённой записи — с сайта, из колл-центра, из WhatsApp — оплату можно взять заранее. Это заметно снижает число неявок.

В обоих случаях фиксируйте время только по invoice.paid. Пока счёт не оплачен, слот должен считаться свободным, иначе неоплатившие забьют всё расписание.

Освобождайте зависшие слоты: счёт стал expired или cancelled — время снова открыто. Но помните про поздние оплаты: деньги по уже закрытому счёту могут прийти позже, и invoice.paid придёт с пометкой late: true. Тогда либо предлагаете другое время, либо возвращаете деньги: Поздняя оплата.

Оплата анализов

В лаборатории порядок обычно другой: сначала забор материала, результат готов позже.

  1. В момент забора создаёте счёт, в externalOrderId кладёте лабораторный номер.
  2. Когда результат готов, сообщаете пациенту и отправляете счёт на его телефон.
  3. По invoice.paid открываете результат — в личном кабинете, письмом или на руки.

Не выдавайте результат до подтверждения оплаты. События invoice.created и invoice.pending — это не оплата, а только факт создания счёта.

Если панель состоит из нескольких исследований, соберите их в один счёт. Отдельные счета на каждое исследование путают пациента и быстро съедают месячный лимит тарифа.

Чеки

Kaspi показывает своё уведомление об оплате, а чек с вашей стороны — отдельная история. Что есть:

На странице чека описание тоже видно — ещё один повод держать его нейтральным. Подробнее: Чеки и доставка их покупателю.

Возвраты

В медицине возвраты частые: пациент не пришёл, услуга не оказана, врач заболел, часть панели не выполнена.

POST /api/v1/invoices/{id}/refund
{ "amount": 5000, "reason": "Услуга не оказана" }

Полный справочник: API возвратов.

Вариант без кода

Что учесть заранее

Вопросы и ответы

Можно ли писать ФИО пациента в счёт? В этом нет необходимости. Для внутреннего сопоставления достаточно metadata.patient_id, а это поле пациенту не показывается.

Что выдать пациенту, если он просит чек? Ссылку на страницу чека по счёту либо письмо на customer.email. Фискальный чек — отдельный вопрос.

Обязательно ли возвращать предоплату? Это регулируют ваши правила записи, Qut Pay сюда не вмешивается. Технически возможен и полный, и частичный возврат.

У нас несколько филиалов, можно разделить отчётность? Да, каждому филиалу свой API-ключ, привязанный к кассиру: Раздельная отчётность по точкам.

Увидит ли регистратор в кабинете счета других пациентов? Зависит от его роли в кабинете. Но если описания нейтральные, из увиденного всё равно ничего не узнать о пациенте — ради этого правило и существует: Роли и права в кабинете.

Связанные статьи

Данные и конфиденциальность — что хранится и кто это видитКакие данные счетов, покупателей и кассира Qut Pay хранит, а какие не хранит вовсе, кто имеет к ним доступ и как долго они живут. Что нельзя писать в описание счёта и в metadata.Metadata и номер заказаЧем externalOrderId отличается от metadata, как оба поля возвращаются в вебхуке, что можно класть в metadata и что туда нельзя класть никогда — с конкретными примерами.Чеки и доставка их покупателюСтраница чека Qut Pay, её нумерация и содержимое. Отправка письмом, поля в API и вебхуке, и почему ссылка на чек Kaspi не открывается у покупателя.API возвратов — полный и частичный возвратСправочник по методу POST /invoices/{id}/refund: поля запроса, полный и частичный возврат, ограничение суммы, все коды ошибок, что делать при refund_unknown и какие события приходят после возврата.Салон красоты и барбершопСвязка с системой записи, предоплата, клиент не пришёл, возврат. Путь без кода и путь через API, раздельный учёт по мастерам.

Остались вопросы? WhatsApp +77788813333 · kazprose@gmail.com
Написать можно и из кабинета: Поддержка.

Qut Pay — независимый сервис, не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.