> Источник: https://apipay.kz/guides/oplata-ne-prihodit-kaspi · Обновлено: 2026-10-23 · apipay.kz
> ApiPay — независимый сервис приёма платежей поверх вашего Kaspi Pay.

# Оплата Kaspi не приходит покупателю — что делать?

**TL;DR.** Если вы продавец и счёт через ApiPay создан, а покупателю в Kaspi не пришёл, — почти всегда одна из двух причин. У новых клиентов чаще всего **не выключен тестовый режим**: в песочнице счета в Kaspi не передаются. У действующих — оборвалась **авторизация кассира**, переподключение в кабинете занимает около минуты. Первое действие: плашка «ТЕСТОВЫЙ РЕЖИМ» в кабинете ApiPay, затем статус проблемного счёта; из кода три ветки закрывает один запрос `GET /account/health`.

## Вы покупатель, и оплата не прошла?

Обращайтесь к продавцу или в поддержку Kaspi. ApiPay — инструмент продавца: доступа к вашему банковскому счёту и платежам в Kaspi у него нет. Если вы продавец — читайте дальше.

## С чего начать проверку?

1. **Тариф активен?** При неактивной подписке любое создание счёта отбивается **403 `tariff_inactive`**, чтение через `GET`-запросы продолжает работать, вебхуки по счетам молчат. Проверка из кода — `GET /account/health` → `tariff.status`, в кабинете — раздел «Мой тариф». Повтор бесполезен, снимается только оплатой тарифа ([Тарифы и комиссия](/guides/tarify-i-komissiya-apipay)).
2. **Недавно перевыпускали ключ или переносили организацию на другой аккаунт?** Прежний API-ключ после этого не действует — запросы с ним не проходят. Подключение кассира ключи не трогает, само переключение «песочница ⟷ рабочий режим» ключ не меняет ([API-ключ и вебхук-секрет](/guides/api-klyuch-i-webhook-secret)).
3. **Плашка «ТЕСТОВЫЙ РЕЖИМ» в кабинете?** Если горит — причина найдена, дальше можно не искать.

## Почему счёт создан, а покупателю не пришёл?

| Признак | Вероятная причина | Что сделать | Подробнее |
|---|---|---|---|
| У счёта `is_sandbox: true` (у счёта по номеру `kaspi_invoice_id` начинается с `SANDBOX-`), в кабинете плашка «ТЕСТОВЫЙ РЕЖИМ» | Песочница не выключена — **чаще всего** у новых клиентов | Включить «Рабочий режим» в Настройках — заработает без правки кода | [Песочница и рабочий режим](/guides/pesochnitsa-i-rabochiy-rezhim) |
| Счёт или QR не создаётся — **409 `kaspi_session_expired`** (реже **503 `kaspi_session_invalid`**), либо счёт по номеру уходит в `error`; `GET /account/health` отдаёт `connection.needs_reauth: true` | Оборвалась авторизация кассира — **частая причина** у действующих клиентов | Повтор не поможет. Переподключить примерно за минуту: Настройки → «Авторизация Kaspi» → код из SMS | [Привязка кассира разорвалась](/guides/pochemu-sletala-sessiya-kassira) |
| Счёт в статусе `error`, код `client_not_found` («абонент не найден») | Номер покупателя не зарегистрирован в Kaspi или введён с ошибкой — **редко** | Сверить номер с покупателем, выставить счёт заново | [Как создать счёт по номеру](/guides/kak-sozdat-schet-kaspi-po-nomeru) |
| Счёт висит в `processing` | Счёт ещё не ушёл в Kaspi. Обычно это секунды; долгое ожидание штатно только при включённом режиме накопления | Не пересоздавать, дождаться итогового статуса; проверить `GET /account/health` → `invoicing.accumulating`. Если накопление выключено, а вебхука нет и через час — в поддержку | [Жизненный цикл счёта](/guides/zhiznennyy-tsikl-scheta) |
| Не работает массово, «у всех» | Возможен временный сбой — **редко** | Написать в поддержку: проверим и сообщим текущий статус | [Проблема у вас или у Kaspi](/guides/problema-u-vas-ili-u-kaspi) |

## Что значит ошибка «абонент не найден»?

Ошибка «абонент не найден» соответствует коду `client_not_found`: номер покупателя не зарегистрирован в Kaspi, счёт на него выставить нельзя, и он уходит в статус `error`. В кабинете ApiPay это сообщение «Этот номер телефона не зарегистрирован в Kaspi». Уточните номер у покупателя; проверить его до выставления можно запросом `POST /clients/check` → `has_kaspi`.

## Счёт ушёл «не туда» — что делать?

Опечатка в номере, который **существует** в Kaspi, даёт счёт в статусе `pending` без ошибок — доставленный другому человеку. Сверьте номер посимвольно (формат `8XXXXXXXXXX`). Ошибочный счёт отмените, пока он не оплачен: кабинет → «Счета» → «Отменить». Если его оплатит посторонний, деньги придётся возвращать через [возврат](/guides/vozvraty-kaspi-cherez-api).

## Как узнавать о проблеме раньше покупателя?

Руками это видно, только когда покупатель пишет «мне ничего не пришло». Автоматическая проверка окупается, когда:

- счетов много и сверять каждый в кабинете уже некогда;
- счета выставляются ночью или из другой системы — сайта, бота, CRM, 1С;
- о «вставшем» приёме вы хотите узнать до первой жалобы.

Для этого в ApiPay есть один запрос `GET /account/health`: он возвращает `connection.needs_reauth` (кассира надо переподключить), `tariff.status` (тариф неактивен) и `invoicing.accumulating` (счета копятся и в Kaspi не уходят). По самому счёту смотрите в `GET /invoices/{id}` поля `is_sandbox`, префикс `SANDBOX-` в `kaspi_invoice_id`, `status`, `error_code` и `error_message`. Как выставлять счета по номеру из своей системы — на странице [«Счёт Kaspi по номеру телефона»](/invoice-by-phone), полный справочник — в [документации API](/docs). Код может написать ваш ИИ-агент: дайте ему [apipay.kz/for-ai](https://apipay.kz/for-ai).

Как устроена удалённая оплата со стороны Kaspi Pay — в [справке Kaspi](https://guide.kaspi.kz/partner/ru/kaspi_pay/payment/remote_payment/q1484).

## Частые вопросы

**У меня как у покупателя не списалась оплата в Kaspi — куда обращаться?**
К продавцу или в поддержку Kaspi. ApiPay — инструмент продавца: доступа к вашему банковскому счёту и платежам в Kaspi у него нет.

**Счёт создался (ответ 201), но покупателю не пришёл push — почему?**
201 означает «принят в обработку» (`status: processing`), а не «доставлен». Если через пару минут статус не стал `pending` — идите по таблице выше: режим, тариф, кассир.

**Что значит «абонент не найден» при выставлении счёта Kaspi?**
Это код `client_not_found`: номер покупателя не зарегистрирован в Kaspi. Уточните номер у покупателя или проверьте его заранее через `POST /clients/check`.

**Не пересоздавать счёт в `processing` — почему?**
Получатся два живых счёта, и покупатель может оплатить оба.

**Как понять, что ошибка временная?**
По `error_code`: временные сетевые состояния (`network_unavailable`) обычно проходят сами — помогает повтор через 1–3 минуты.

---

ApiPay — независимый сервис и не аффилирован с АО «Kaspi Bank». Kaspi и Kaspi Pay — товарные знаки их правообладателя.
База знаний: https://apipay.kz/guides
