Перейти к основному содержимому

Действие «Платежи»

«Платежи» — действие в сценарии действий, которое формирует платёжную ссылку и принимает результат оплаты. Поддерживает 30+ платёжных систем — от российских (ЮKassa, Тинькофф, Сбер) до международных (Stripe, PayPal) и крипто (Cryptomus, CryptoCloud, WalletPay, 2328.io).

Действие работает в двух режимах:

  1. Сформировать платёжную ссылку (getlink) — создать ссылку для оплаты.
  2. Принять платёж (acceptpay) — обработать результат после оплаты.

Логика приёма платежей в Квесче

  1. Подписчик попадает в блок «Оплата».
  2. В сценарии действий «до отправки» — действие «Платежи» с типом getlink создаёт ссылку и сохраняет её в переменную #{pay_link}.
  3. Блок показывает кнопку-ссылку с #{pay_link} или текстом ссылки.
  4. Подписчик переходит по ссылке, оплачивает на сайте платёжной системы.
  5. Платёжная система присылает в Квесчу вебхук о статусе.
  6. Запускается блок с отметкой ожидания платежа, к нему можно подключить сценарий действий с действием «Принять платеж», которое читает результат.

Часть 1. Подключение платёжной системы

Перед использованием действия — подключите платёжную систему на странице Платежные системы.

Список поддерживаемых систем:

Россия: ЮKassa, ЮMoney, PayAnyWay, Robokassa, Prodamus, PayOk, FreeKassa, Lava, PaySelection, Payeer, CloudPayments, Tinkoff, T-Bank, Platim, PayMaster, Payture, UnitPay, FinPay, Platega.

Беларусь: BePaid.

Узбекистан: Octo.

Казахстан: LavaKZ, RobokassaKZ.

Международные: PayPal, Stripe, Fondy, QIWI.

Крипто: Cryptomus, CryptoCloud, 2328.io (USDT/TRX/BTC и др.), WalletPay (TON/BTC/USDT).

→ Подробно: Платёжные системы.


Часть 2. Создание платёжной ссылки

Шаг 1. Добавьте действие

В сценарии действий«Добавить действие»«Платежи».

В поле «Работа с платежом»«Сформировать платёжную ссылку».

Действие платежи

Скриншот 1. Добавление действия «Платежи».

Шаг 2. Выберите платёжную систему

Поле «Платёжная система» → выберите из подключённых.

Шаг 3. Базовые параметры

ПолеЗначение
Валюта платежаКод валюты: RUB, USD, EUR, BYR, UZS, KZT, TON, USDT и т.д.
Описание платежаЧто покупают: «Заказ №#{order_id}. Доставка курьером»
СуммаКонкретное значение (1500) или подстановка #{order_total}
Переменная суммыИмя переменной с суммой. По умолчанию sum

Параметры платежа

Скриншот 2. Сумма, валюта, описание.

Шаг 4. Параметры конкретной системы

Некоторые системы требуют дополнительных настроек:

СистемаОсобенности
BePaidПоле «Язык страницы оплаты» (ru, en, es, tr, и др.)
OctoПоле «Язык платёжной формы» (ru, en, uz, oz)
Platega«Способ оплаты» — по умолчанию «Карты (RUB)»
2328.io«Криптовалюта зачисления» + «Сеть»
WalletPay«Получаемая валюта» — TON, BTC, USDT

Шаг 5. Дополнительные данные

Раздел «Дополнительные данные» — пары «Имя переменной / Значение». Они привязываются к платежу и становятся доступными при его приёме.

Используйте для:

  • передачи order_id, product_id, client_id — чтобы при оплате знать, к чему она относится;
  • хранения исходной цены до промокода;
  • меток источника трафика.

Дополнительные данные платежа

Скриншот 3. Параметры для передачи в платёж.

Шаг 6. URL возврата

URL переадресации по окончании платежа — куда вернётся клиент после оплаты. Например, страница «Спасибо» с дальнейшими инструкциями.

Поле необязательное — для большинства систем по умолчанию возврат в чат бота.

Шаг 7. Шифрование ссылки (опционально)

Галочка «Зашифровать ссылку» — оригинальная ссылка скрывается за payment.quescha.com/.... Это убирает из URL название платёжной системы и параметры.

Не использовать с 54-ФЗ

Если включена отправка чеков по 54-ФЗ — выключите шифрование, иначе чеки могут не отправиться.

Шаг 8. Сохранение ссылки в переменную

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

Переменная: pay_link

После выполнения действия переменная #{pay_link} доступна в блоке. Подставьте её в:

  • кнопку-ссылку: тип «Ссылка», URL = #{pay_link};
  • текст сообщения: Оплатить: #{pay_link};
Демонстрация ссылки

Кнопка «Демонстрация ссылки» показывает превью без привязки к клиенту. Удобно проверить, что параметры подставились правильно.


Часть 3. Приём платежа

После того как клиент оплатил, платёжная система присылает вебхук в Квесчу. Чтобы обработать результат — нужно действие «Принять платёж» в отдельном сценарии, который запускается в блоке с отметкой ожидания платежа.

Шаг 1. Создайте отдельный блок для приема платежа

  • Шаг 1: блок «Спасибо за оплату»;
  • В сценарии действий блока — действие «Платежи»«Принять платёж».

Шаг 2. Доступные переменные

После приёма платежа в сценарии действий доступны:

ПеременнаяЗначение
payment_resultok — успех, sum_incorrect — сумма не совпала, bad — платёж не прошёл
payment_nameНазвание платёжной системы (yookassa, tinkoff, prodamus, и т.д.)
sum или ваше имя переменной суммыФактически уплаченная сумма
Все «Дополнительные данные»Переменные, заданные при формировании ссылки (например, #{order_id})

Шаг 3. Ветвление по результату

В блоке сделайте проверку через условие перехода:

  • #{payment_result} = ok → блок «Заказ принят, спасибо!»
  • #{payment_result} = sum_incorrect → блок «Сумма неверна, свяжитесь с поддержкой»
  • #{payment_result} = bad → блок «Оплата не прошла, попробуйте ещё раз»

Ветвление по результату

Скриншот 4. Сценарий приёма платежа с ветвлением.


Часть 4. Подписи и системные шаблоны

  • [OrderId] — сгенерированный ID заказа при создании ссылки (для модуля магазина).
  • #{shop_order_id} — то же в сценарии действий (для модуля магазина).
  • #{sum} — сумма платежа.
  • В системных уведомлениях о платежах эти шаблоны заполняются автоматически.

Используйте [OrderId] в описании платежа, чтобы потом легко находить операции в личном кабинете платёжной системы.


Часть 5. Типовые сценарии

Сценарий 1. Простая оплата заказа

  1. Блок «Корзина → Оплатить»:
    • До отправки: действие «Платежи» (getlink), сумма = #{cart_total}, переменная = pay_link.
    • Сообщение: «Сумма к оплате: #{cart_total} ₽».
    • Кнопка: «Оплатить», тип = Ссылка, URL = #{pay_link}.
  2. Цепочка «Приём оплаты» (триггер: вебхук от ЮKassa):
    • Действие «Принять платеж».
    • Условие #{payment_result} = ok → выдать товар.

Сценарий 2. Оплата с промокодом

  1. Блок «Введите промокод».
  2. В сценарии действий: проверить промокод в списке, вычислить скидку → переменная final_sum.
  3. Действие «Платежи»: сумма = #{final_sum}, дополнительные данные: original_sum = #{cart_total}, promo = #{promo_code}.
  4. После оплаты в «Принять платеж» доступны и final_sum, и original_sum, и promo — можно логировать в список «Заказы».

Сценарий 3. Криптоплатёж

  1. Действие «Платежи»: система = 2328io, валюта = USD, «Криптовалюта зачисления» = USDT, «Сеть» = TRC20.
  2. Ссылка в переменную crypto_link.
  3. Клиент платит → вебхук → payment_result = ok.

Сценарий 4. Подписка с возвратом

  1. Действие «Платежи»: сумма = 499, описание = Подписка PRO на месяц, дополнительные данные: subscription = pro, tariff_until = [AddDate([CurrentDate],30)].
  2. После оплаты: блок ставит клиенту тег pro, сохраняет в список «Подписки» с датой окончания.

Часть 6. Архитектура

Принцип 1. Один сценарий = одна ссылка

Не пытайтесь генерировать в одном сценарии действий несколько ссылок «на выбор клиенту». Сделайте отдельный блок с кнопками и в каждом — свой getlink.

Принцип 2. Передавайте контекст через дополнительные данные

В платёжной системе вы увидите только сумму и описание. Чтобы знать, за что платили, передавайте order_id, product_id, tariff через дополнительные данные.

Принцип 3. Всегда обрабатывайте bad и sum_incorrect

Не предполагайте, что все платежи проходят. Сделайте отдельную ветку с «попробуйте ещё раз» / «свяжитесь с менеджером».

Принцип 4. Логируйте все оплаты в список

В цепочке acceptpay добавьте операцию «Список» → «Заказы» (addrow) с полями ClientID, sum, payment_name, order_id, status. Это ваша история заказов.

Принцип 5. Используйте теги для отписки от дожимов

После успешной оплаты ставьте клиенту тег оплачено — это автоматически отпишет его от цепочек «Брошенная корзина», «Дожим».

Подстановка происходит после действия. Если ссылка в блоке-сообщении «до» — она будет пустой. Действие «Платежи» должно быть в сценарии «до отправки» того блока, где показывается кнопка.


Частые ошибки

  • #{pay_link} пустая — действие «Платежи» в «после отправки», а используется в «до отправки». Перенесите.
  • Платёж не приходит — у платёжной системы не настроен вебхук на Квесчу. Проверьте в личном кабинете провайдера.
  • sum_incorrect — клиент изменил сумму на странице оплаты. Используйте платёжные системы, которые не дают редактировать сумму.
  • При оплате не виден order_id — забыли добавить в «Дополнительные данные». Просто [OrderId] в описании — не передаётся, нужна пара параметров.
  • Чеки не отправляются — включено «Зашифровать ссылку», а провайдер требует прямой URL.
  • acceptpay ничего не возвращает — забыли создать цепочку приёма оплаты, или триггер настроен неверно.

Что дальше