# Проблема у вас или у Kaspi — диагностика за две минуты

> Три вопроса показывают, на чьей стороне сбой: в вашей интеграции, в привязке Kaspi или в самом сервисе. К каждому ответу — конкретное действие и список того, что собрать для поддержки.

## Коротко

Когда оплата не проходит, не тратьте время на раскопки в коде. Ответьте на три вопроса, и через две минуты станет ясно, где сбой: **работает ли в песочнице**, **выставляется ли счёт вручную из кабинета**, **работает ли на другом кассире**. Эти три вопроса делят проблему на три части — ваш код, привязка Kaspi, сам сервис — и решение у каждой своё.

Дополнительно: эндпоинт `GET /api/v1/status` отвечает и без ключа и за секунду показывает, жив ли сервис.

## Вопрос 1. Работает ли в песочнице

Переключитесь на ключ `qp_test_` и повторите тот же самый запрос.

```bash
curl -i -X POST https://api.qut.kz/api/v1/invoices \
  -H "X-API-Key: qp_test_ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"amount":1000,"description":"Диагностика"}'
```

| Результат | Вывод |
|---|---|
| В песочнице **работает**, в бою нет | Сторона Kaspi: привязка кассира, организация или тариф |
| В песочнице **тоже не работает** | Ваша сторона: запрос, ключ, поля |

Это самый важный вопрос. Песочница вообще не обращается к Kaspi — если ошибка есть и там, Kaspi ни при чём, дело в запросе. Прочитайте поле `error`: для [401](/kb/ru/api-401) и [403](/kb/ru/api-403) есть отдельные страницы.

## Вопрос 2. Выставляется ли счёт вручную из кабинета

В боевом режиме зайдите в [кабинет](https://qut.kz/app) и создайте один счёт вручную в разделе «Счета».

| Результат | Вывод |
|---|---|
| Вручную счёт **создаётся** | Привязка Kaspi жива. Дело в вашей интеграции |
| Вручную счёт **тоже не создаётся** | Дело в привязке Kaspi или в тарифе |

Этот вопрос убирает код из уравнения. И кабинет, и ваш код идут одним и тем же путём: Qut Pay → Kaspi. Если из кабинета получается, значит путь открыт.

Если вручную тоже не выходит, откройте раздел **Kaspi** в кабинете: активна ли карточка подключения, есть ли строка «Причина». Самое частое — кто-то вошёл в приложение Kaspi Pay с номера кассира и оборвал сессию.

## Вопрос 3. Работает ли на другом кассире

Если подключено несколько кассиров, попробуйте выставить счёт через второго.

| Результат | Вывод |
|---|---|
| На втором кассире **работает** | Проблема именно в первом кассире |
| Не работает ни на одном | Проблема на уровне организации: тариф, аккаунт, сторона Kaspi |

Если падает только один кассир, проверьте: активна ли SIM, есть ли этот сотрудник в Kaspi Pay, стоит ли у него роль «Кассир», не вошёл ли кто-то с этого номера в приложение.

О подключении нескольких кассиров: [Можно ли подключить несколько кассиров](/kb/ru/two-cashiers).

## Состояние самого сервиса

Секундная проверка, которую стоит сделать до трёх вопросов:

```bash
curl -s https://api.qut.kz/api/v1/status
```

Эндпоинт работает без API-ключа. Если он отвечает, сервис жив — вопрос «а не лежите ли вы» закрыт. Если молчит или думает слишком долго, дело на нашей стороне и раскапывать свой код незачем.

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

## Таблица чтения результатов

| Песочница | Вручную из кабинета | Вывод | Первое действие |
|---|---|---|---|
| Работает | Создаётся | Дело в интеграции: боевой ключ, режим, поля | Сверьте ключ и режим |
| Работает | Не создаётся | Привязка Kaspi или тариф | Кабинет → Kaspi, затем Тариф |
| Не работает | Создаётся | Дело в запросе: заголовок, поля, ключ | Прочитайте код `error` |
| Не работает | Не создаётся | Уровень аккаунта или сам сервис | Проверьте `status` и напишите в поддержку |

## Три случая, которые путают чаще всего

**Забыли выключить тестовый режим.** В песочнице всё прекрасно работает, счета создаются, просто деньги никуда не идут. Это самая частая «ложная поломка». Если ключ начинается с `qp_test_`, вы в песочнице.

**Счёт создался, но вебхук не пришёл.** Это две разные задачи. Раз счета создаются, привязка Kaspi жива, и сбой на стороне вебхука: адрес, подпись, код ответа.

**Кажется, что деньги не дошли.** Деньги никогда не бывают у нас, они идут прямо на счёт Kaspi. Проверять нужно в Kaspi Pay: [Счёт оплачен, а денег нет](/kb/ru/money-not-received).

## Что собрать для поддержки

Если диагностика не дала ответа, напишите нам. С этими данными ответ будет конкретным сразу:

- **`id` счёта** или значение `externalOrderId`
- **Точное время** с часами и минутами и с указанием часового пояса
- **Режим**, в котором вы работали: песочница или боевой
- **Полный текст ответа**: HTTP-код и поле `error`
- **Первые десять символов ключа** — никогда не присылайте ключ целиком
- **Ответы на три вопроса**: песочница, ручной счёт, другой кассир

Каналы связи: WhatsApp +7 778 881 3333, Telegram @qutpaybot, почта kazprose@gmail.com или раздел «Поддержка» в кабинете.

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

**Как узнать, есть ли сбой на стороне Kaspi?** Отдельной страницы с таким статусом нет. Но если в песочнице всё работает, а в бою одновременно падают несколько кассиров, причина вероятнее всего на стороне Kaspi.

**Можно ли делать диагностику в боевом режиме?** Да, но ставьте маленькую сумму на пробных счетах и не забывайте отменять их потом.

**Считаются ли счета песочницы в лимит?** Нет. Счета песочницы не входят в месячный лимит и не запускают пробный период.

**Что показывает эндпоинт `status`?** Рабочее состояние сервиса. О привязке вашего конкретного кассира он ничего не говорит — это видно в разделе Kaspi в кабинете.

**А если на все три вопроса ответ «работает», но покупатель платить не может?** Тогда дело может быть на его стороне: истекло окно QR, старая версия приложения, интернет. Попробуйте создать новый счёт.
