Коротко
В прямом эфире нет времени: зритель пишет в комментариях «беру», и счёт нужно выставить за несколько секунд. Самый удобный способ — счёт по номеру телефона (kind: "phone"): покупателю прилетает пуш в приложение Kaspi, сканировать ничего не нужно, из эфира он не выходит. Счёт выставляется с телефона командой /invoice в Telegram-боте либо помощником из кабинета. QR на экране — запасной вариант, а не основной.
Порядок работы во время эфира
| Шаг | Кто | Что делает |
|---|---|---|
| 1 | Зритель | Пишет «беру» в комментариях, затем присылает номер в директ |
| 2 | Помощник | Берёт номер и выставляет счёт через /invoice |
| 3 | Покупатель | Подтверждает пуш в Kaspi |
| 4 | Бот | Сообщает «оплачено» |
| 5 | Помощник | Отмечает в списке и собирает заказ |
Вы продолжаете вести эфир. Выставление счетов и контроль оплат — на помощнике: одному человеку это в прямом эфире не совместить.
Какой метод API используется
Если работаете без кода, API не нужен. Внутри схема такая: POST /api/v1/invoices, kind: "phone", customer.phone в формате 7XXXXXXXXXX.
Особенности счёта по телефону:
- Сумма — целые тенге, тиыны не проходят
- Описание — до 60 символов
customer.phoneобязателен
Для QR-счёта (kind: "qr") номер не нужен, описание — до 100 символов, сумма допускает два знака после запятой. В ответе приходят qrImageUrl и payUrl.
Если под эфир пишется своя система (например, скрипт разбора комментариев), кладите в externalOrderId номер эфира и лота, а в metadata — ник в TikTok: потом по этим полям вы поймёте, кому что отправлять.
Счёт из Telegram-бота
Во время эфира это самый быстрый путь. Бот один раз привязывается к кабинету, дальше — с телефона:
/invoice— выставить счёт/last— последние счета, кто оплатил/today— всё за сегодня/cancel— отменить ошибочный счёт/status— состояние сервиса/support— написать в поддержку
Бота можно добавить в групповой чат — тогда вы и помощник видите всё в одном месте. Инструкция: Telegram-бот.
QR на экране
Иногда покупатель не хочет давать номер или вы продаёте один лот всем по одной цене. Тогда QR на экране уместен, но с двумя ограничениями.
Первое: окно сканирования — около трёх минут. Его задаёт Kaspi, точное время видно в поле expiresAt. Держать один QR в кадре полчаса не получится — он перестанет работать. Создавайте новый счёт на каждый лот.
Второе: один QR — один счёт. Если его отсканируют пять человек, они попадут в один и тот же счёт, и оплатит его кто-то один. Собирать так отдельные заказы невозможно. QR на экране годится только для сценария «одна сумма для всех» — например, вход или лот с фиксированной ценой.
Если на экране нужно показать что-то постоянное (донат, чаевые, оплата произвольной суммой), ставьте не QR, а ссылку на оплату вида qut.kz/p/<slug>: у неё нет срока жизни, её же можно поставить в шапку профиля.
Как организовать поток
- Помощник обязателен. Вести эфир и выставлять счета одновременно нельзя. Пригласите помощника в кабинет как сотрудника: Доступ для сотрудника в кабинет.
- Собирайте номера в директе, а не в комментариях. Номер в комментариях видят все, и он быстро уезжает вверх.
- Нумеруйте лоты. Описание «Эфир 12, лот 5» потом сильно упростит сверку.
- Чистите неоплаченные счета в конце эфира. Выставили и не оплатили — закройте через
/cancel. Если открытых счетов накопится много, можно упереться в суточную защиту, она даёт ошибкуtariff_daily_burst. - Выбирайте тариф по объёму эфиров. Если за один эфир выходит 200-300 счетов, месячные 800 счетов тарифа Старт закончатся сразу: Какой тариф выбрать.
- Готовьтесь к крупным эфирам. Если счета начинают массово падать, чаще всего это ограничение частоты на стороне Kaspi — сделайте паузу и повторите.
Контроль оплат
В эфире нельзя полагаться на слова «я оплатил». Три способа проверки:
- Telegram-бот —
/lastили автоматические уведомления. Самый быстрый. - Список счетов в кабинете — открыт на экране у помощника, новые оплаты видно сразу.
- Вебхук — если есть своя система: событие
invoice.paidобычно приходит в течение пяти секунд после подтверждения покупателем.
Если приходит с задержкой, чаще всего дело в вебхуке: Вебхук не приходит. Про скорость подтверждения: Оплата подтверждается медленно.
На что обратить внимание
- Отрепетируйте в песочнице до эфира. Прогоните весь порядок ключом
qp_test_…, оплату имитируйте черезsimulate. Разница режимов: Чем песочница отличается от боевого режима. - Если остался включённым тестовый режим, деньги в эфире не придут. Перед началом проверьте одним настоящим счётом: Оплата не приходит покупателю.
- Не входите в приложение Kaspi Pay с номера кассира — привязка оборвётся, и счета перестанут выставляться прямо посреди эфира.
- Бывает поздняя оплата. Если деньги придут на истёкший счёт, событие придёт с признаком
late: true. Такому покупателю нужно либо отдать товар, либо вернуть деньги. - Деньги приходят напрямую на ваш счёт в Kaspi: Когда и куда приходят деньги.
Вопросы и ответы
Разве не удобнее просто показать QR в эфире? Для отдельных заказов — нет. Один QR — это один счёт, и окно у него около трёх минут. Пуш по номеру намного надёжнее.
Где взять номер покупателя? Просите в директе. Это должен быть номер, привязанный к Kaspi, иначе пуш не придёт.
А если у покупателя нет приложения Kaspi? Тогда пуш не подойдёт — отправьте QR или ссылку: У покупателя нет приложения Kaspi.
Могут ли счета выставлять два человека одновременно? Да. Оба могут заходить в кабинет, либо каждому выдаётся свой API-ключ. При необходимости подключается и второй кассир: Можно ли подключить несколько кассиров.
Что делать, если выставил неверную сумму? Отмените счёт через /cancel или из кабинета и выставьте новый. Если покупатель уже оплатил — сделайте возврат.