Интеграции · PuzzleBot

Проверка оплаты Kaspi в PuzzleBot

Покупатель присылает боту ссылку на чек из приложения Kaspi, PuzzleBot отправляет её в Tolemflow и по ответу выдаёт товар или объясняет, что не так. Без кода.

Что понадобится. API-ключ Tolemflow — он появится сразу после регистрации (50 проверок в месяц бесплатно). HTTP-запросы в PuzzleBot есть и на бесплатном тарифе, но число исходящих запросов в месяц ограничено тарифом.

1. Попросите ссылку на чек

Добавьте блок «Форма ввода» с типом ввода «Отправка сообщения» и маской «Ссылка». Текст: «Оплатите через Kaspi и пришлите сюда ссылку на чек из приложения Kaspi». Переименуйте переменную формы в receipt_url.

2. Создайте переменные с запросом

В PuzzleBot ответ внешнего сервиса можно получить только через интегрированную переменную: запрос выполняется, когда бот выводит её значение. Одна переменная — одно поле ответа, поэтому создадим две: tf_success и tf_message.

Раздел «Переменные» → «Добавить переменную» → «Тип значения: Интегрированный» → «Тип интеграции: HTTP запрос». Настройки одинаковые для обеих переменных:

ПолеЗначение
Ссылкаhttps://tolemflow.kz/api/receipts/validate-url?always200=1
Тип запросаPOST
Вид запросаПроизвольный
ЗаголовкиContent-Type: application/json
X-API-Key: ваш ключ Tolemflow

Тело запроса:

{
  "receiptUrl": "{{receipt_url}}",
  "userId": "{{USER_ID}}",
  "purchaseId": "{{USER_ID}}-kurs",
  "expectedAmount": "24900"
}

Нажмите «Проверить запрос» и в поле «Ответ» выберите success для переменной tf_success и message для tf_message.

Почему не «чек уже использован». Две переменные — это два запроса с одним и тем же чеком. Tolemflow понимает, что это переспрос по тому же заказу, если совпадают purchaseId и userId, и отвечает тем же результатом в течение 15 минут. Вторая проверка при этом не списывается. Поэтому purchaseId обязателен.
  • expectedAmount — цена товара в тенге: чек на другую сумму не пройдёт.
  • ?always200=1 в ссылке нужен, чтобы PuzzleBot получил ответ и при отказе: причина придёт в message.
  • PuzzleBot ждёт ответ до 5 секунд — Tolemflow отвечает в среднем за 1–2 секунды.

3. Выдайте товар или объясните отказ

После формы ввода добавьте «Условие» по значению переменной tf_success:

  • значение true — переход к команде, которая выдаёт товар;
  • иначе — сообщение с текстом {{tf_message}} и просьбой прислать другой чек.

4. Проверьте на себе

Оплатите товар самому себе на небольшую сумму и пришлите ссылку на чек боту. Проверка появится в кабинете Tolemflow в разделе «Чеки». Если значение tf_success приходит в другом виде (например, True), поправьте условие под него.

А если покупатель присылает PDF?

Tolemflow умеет проверять PDF по ссылке на файл: вместо receiptUrl передайте fileUrl — публичную ссылку на присланный документ. В документации PuzzleBot получение такой ссылки описано не полностью, поэтому этот вариант мы настраиваем вместе с вами — напишите нам.

Инструкция составлена по документации PuzzleBot. Если в вашем интерфейсе что-то называется иначе — напишите нам, поможем подключить.

Получите ключ и подключите PuzzleBot сегодня

50 проверок в месяц бесплатно, без карты.