# Как платит покупатель

> До покупателя можно дойти тремя способами: сканирование QR, ссылка на оплату и счёт прямо в приложение Kaspi по номеру телефона. Когда какой удобнее и сколько живёт каждый.

## Коротко

До покупателя можно дойти тремя способами: **сканирование QR** (на экране или напечатанного), **ссылка на оплату** и **счёт по номеру телефона** прямо в приложение Kaspi. Финал у всех трёх одинаковый — покупатель видит сумму в своём приложении Kaspi и подтверждает, деньги приходят на ваш счёт Kaspi. Разница во времени жизни: **окно сканирования QR ограничено (около 3 минут)**, а счёт, отправленный на телефон, лежит в приложении покупателя **заметно дольше**.

## Три способа

| Способ | Как передаётся | Когда удобен |
|---|---|---|
| **QR** | Картинка на экране или напечатанный лист | Покупатель рядом, офлайн-точка |
| **Ссылка** | WhatsApp, директ в Instagram, SMS, кнопка на сайте | Покупатель далеко, идёт переписка, оплатить может позже |
| **Счёт на телефон** | Приходит в приложение Kaspi | Знаете номер, телефон под рукой, платить нужно сейчас |

Технически это поле `kind` в запросе `POST /api/v1/invoices`: `qr` (по умолчанию) или `phone`. В ответе на `qr` приходят и картинка QR, и ссылка на оплату — то есть первые два способа получаются из одного счёта.

## 1. Сканирование QR

При создании счёта в ответе приходят `qrUrl` и `qrImageUrl`. Использовать их можно двумя способами.

**QR на экране (динамический).** На экране кассового компьютера, планшета или вендингового автомата показываете новый QR под каждый заказ. Сумма уже проставлена, покупатель только подтверждает. Самый точный способ, ошибиться невозможно.

**Напечатанный QR (статический).** Лист на столе, на витрине или на шлагбауме. Обычно ведёт на [ссылку оплаты](/kb/ru/payment-links), сумма может быть и открытой.

Что делает покупатель: открывает Kaspi → нажимает сканирование → наводит камеру → видит сумму и подтверждает.

**Важное ограничение:** окно сканирования QR — около трёх минут. Его задаёт Kaspi, мы не можем его продлить. Если окно истекло, покупатель увидит сообщение в духе «попробуйте позже» — тогда выставляете новый счёт. Точный срок берите из поля `expiresAt` в ответе, не считайте его постоянным. Подробнее: [QR показывает «попробуйте позже»](/kb/ru/qr-expired).

Отсюда правило: QR показывайте только там, где покупатель платит прямо сейчас. Сказал «оплачу вечером» — давайте не QR, а ссылку.

## 2. Ссылка на оплату

Поле `payUrl` в ответе — обычная ссылка, её можно отправить куда угодно: в WhatsApp, в директ Instagram, в SMS или повесить на кнопку «Оплатить» на сайте.

По ссылке открывается страница оплаты: сумма, описание и кнопка перехода в Kaspi. С телефона приложение Kaspi открывается напрямую — для этого есть `deepLink`.

Отдельно есть **постоянные ссылки на оплату** вида `qut.kz/p/<slug>` — с фиксированной или открытой суммой. Их удобно ставить в профиль, на сайт, на визитку: создаёте один раз, работают долго. Подробнее: [Ссылки на оплату](/kb/ru/payment-links) и [Ссылки с открытой суммой](/kb/ru/open-amount-links).

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

## 3. Счёт по номеру телефона

Если создать счёт с `kind: "phone"`, он уходит прямо в приложение Kaspi покупателя: у него появляется уведомление, он открывает и подтверждает. Ни сканировать, ни переходить по ссылке не нужно.

Условия:

- Нужно передать `customer.phone` в формате `7XXXXXXXXXX`
- Сумма — **целые тенге**, без тиынов
- Описание ограничено **60 символами** (у QR — 100)
- У покупателя должно быть приложение Kaspi — если его нет, счёт не дойдёт, тогда давайте QR или ссылку: [У покупателя нет приложения Kaspi](/kb/ru/customer-no-kaspi)

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

Минус: нужно знать номер точно. Ошибётесь в цифре — счёт уйдёт постороннему человеку.

## Что выбрать

| Ситуация | Рекомендация |
|---|---|
| Магазин, покупатель у кассы | QR на экране |
| Ресторан, за столом | Напечатанный QR или QR на экране вместе со счётом |
| Продажи через WhatsApp или Instagram | Ссылка |
| Покупатель сказал «оплачу позже» | Ссылка или счёт на телефон |
| Курьер привёз товар | Счёт на телефон или QR на телефоне курьера |
| Парковка, шлагбаум, вендинг | QR на экране |
| Постоянному клиенту ежемесячно | Подписка, она выставляет счёт на телефон |
| Покупатель иностранец, Kaspi нет | Этот путь не подходит |

Полное сравнение: [QR-счёт или счёт по телефону](/kb/ru/qr-vs-phone).

## Что общего у всех трёх

- Деньги приходят **напрямую на ваш счёт Kaspi**, у нас они не задерживаются
- Покупатель **подтверждает каждую оплату сам** — без его участия ничего не спишется
- После оплаты вам приходит вебхук `invoice.paid`, обычно в течение 5 секунд
- Размер своей комиссии Kaspi определяет сам, мы её не задаём
- Покупатель получает чек Kaspi в своём приложении

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

**Можно один счёт отдать и как QR, и как ссылку?** Да. В ответе на счёт с `kind: "qr"` приходят и `qrUrl`, и `payUrl` — одно на экран, другое в сообщение.

**Можно продлить окно QR?** Нет, его задаёт Kaspi. Нужен долгоживущий вариант — счёт на телефон или ссылка на оплату.

**Может покупатель ввести сумму сам?** Да, через ссылку с открытой суммой: [Ссылки с открытой суммой](/kb/ru/open-amount-links).

**Что будет со счётом, если покупатель не заплатит?** По истечении срока он перейдёт в `expired`. Редко деньги приходят с опозданием — тогда событие `invoice.paid` придёт с признаком `late: true`: [Поздняя оплата](/kb/ru/late-payment).

**Узнаю ли я об оплате сразу?** Да. Вебхук обычно приходит за 5 секунд, при желании можно параллельно опрашивать статус: [Вебхук или опрос статуса](/kb/ru/polling-vs-webhook).
