Коротко
До покупателя можно дойти тремя способами: сканирование 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 (статический). Лист на столе, на витрине или на шлагбауме. Обычно ведёт на ссылку оплаты, сумма может быть и открытой.
Что делает покупатель: открывает Kaspi → нажимает сканирование → наводит камеру → видит сумму и подтверждает.
Важное ограничение: окно сканирования QR — около трёх минут. Его задаёт Kaspi, мы не можем его продлить. Если окно истекло, покупатель увидит сообщение в духе «попробуйте позже» — тогда выставляете новый счёт. Точный срок берите из поля expiresAt в ответе, не считайте его постоянным. Подробнее: QR показывает «попробуйте позже».
Отсюда правило: QR показывайте только там, где покупатель платит прямо сейчас. Сказал «оплачу вечером» — давайте не QR, а ссылку.
2. Ссылка на оплату
Поле payUrl в ответе — обычная ссылка, её можно отправить куда угодно: в WhatsApp, в директ Instagram, в SMS или повесить на кнопку «Оплатить» на сайте.
По ссылке открывается страница оплаты: сумма, описание и кнопка перехода в Kaspi. С телефона приложение Kaspi открывается напрямую — для этого есть deepLink.
Отдельно есть постоянные ссылки на оплату вида qut.kz/p/<slug> — с фиксированной или открытой суммой. Их удобно ставить в профиль, на сайт, на визитку: создаёте один раз, работают долго. Подробнее: Ссылки на оплату и Ссылки с открытой суммой.
Ссылка — самый гибкий способ: покупатель может её сохранить, открыть позже, переслать другому человеку.
3. Счёт по номеру телефона
Если создать счёт с kind: "phone", он уходит прямо в приложение Kaspi покупателя: у него появляется уведомление, он открывает и подтверждает. Ни сканировать, ни переходить по ссылке не нужно.
Условия:
- Нужно передать
customer.phoneв формате7XXXXXXXXXX - Сумма — целые тенге, без тиынов
- Описание ограничено 60 символами (у QR — 100)
- У покупателя должно быть приложение Kaspi — если его нет, счёт не дойдёт, тогда давайте QR или ссылку: У покупателя нет приложения Kaspi
Плюс: такой счёт живёт в приложении покупателя заметно дольше. Если человек сейчас занят, он оплатит позже. Поэтому способ хорош для курьеров, продаж под заказ, подписок и оплат «до конца дня».
Минус: нужно знать номер точно. Ошибётесь в цифре — счёт уйдёт постороннему человеку.
Что выбрать
| Ситуация | Рекомендация |
|---|---|
| Магазин, покупатель у кассы | QR на экране |
| Ресторан, за столом | Напечатанный QR или QR на экране вместе со счётом |
| Продажи через WhatsApp или Instagram | Ссылка |
| Покупатель сказал «оплачу позже» | Ссылка или счёт на телефон |
| Курьер привёз товар | Счёт на телефон или QR на телефоне курьера |
| Парковка, шлагбаум, вендинг | QR на экране |
| Постоянному клиенту ежемесячно | Подписка, она выставляет счёт на телефон |
| Покупатель иностранец, Kaspi нет | Этот путь не подходит |
Полное сравнение: QR-счёт или счёт по телефону.
Что общего у всех трёх
- Деньги приходят напрямую на ваш счёт Kaspi, у нас они не задерживаются
- Покупатель подтверждает каждую оплату сам — без его участия ничего не спишется
- После оплаты вам приходит вебхук
invoice.paid, обычно в течение 5 секунд - Размер своей комиссии Kaspi определяет сам, мы её не задаём
- Покупатель получает чек Kaspi в своём приложении
Вопросы и ответы
Можно один счёт отдать и как QR, и как ссылку? Да. В ответе на счёт с kind: "qr" приходят и qrUrl, и payUrl — одно на экран, другое в сообщение.
Можно продлить окно QR? Нет, его задаёт Kaspi. Нужен долгоживущий вариант — счёт на телефон или ссылка на оплату.
Может покупатель ввести сумму сам? Да, через ссылку с открытой суммой: Ссылки с открытой суммой.
Что будет со счётом, если покупатель не заплатит? По истечении срока он перейдёт в expired. Редко деньги приходят с опозданием — тогда событие invoice.paid придёт с признаком late: true: Поздняя оплата.
Узнаю ли я об оплате сразу? Да. Вебхук обычно приходит за 5 секунд, при желании можно параллельно опрашивать статус: Вебхук или опрос статуса.