Прием платежей через ЮKassa (ex Яндекс.Касса)

Вы можете организовать прием платежей в бота используя платежный агрегатор Яндекс.Касса

Ссылка на оплату после перехода по ней действительна в течение часа. Если перехода по ссылке не было, она действует бессрочно.

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

В любом случае предусмотрите возможность генерации новой ссылки.

Подробнее в таблице "срок оплаты" https://yookassa.ru/developers/payment-methods/overview

Интеграция ЮKassa в Salebot.pro

Для подключения ЮKassa Вам потребуются shopId и секретный ключ.

shopId можно увидеть в настройках на ЮKassa

Либо в шапке:

Секретный ключ находится в разделе Интеграции:

Для того, чтобы бот получал уведомления об оплате, также необходимо установить на ЮKassa callback_url https://chatter.salebot.pro/yandex_kassa_callback/result

Теперь переходим в конструктор. Два значения, о которых мы говорили выше необходимо указать в форме ниже. Форма находится в разделе "Платежные системы"

Дальше начинаем использовать)

Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum, сразу после этого появится переменная yandex_kassa_pay_url.

Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".

ссылка на оплату выглядит примерно так

Важно! после успешной или неуспешной оплаты в бот придут колбеки, по которым вы сможете понять что была успешная оплата. Эти колбеки в системе вы видите как сообщения от пользователя, чтобы их не мог отправить пользователь, они состоят из ключа ЮKassa и приписки со статусом, например: test_k4kyf6E00dpq5ft7vGHmxXCo23JKziwt729O-WcdL8s_success. Также после успешной оплаты переменная yandex_kassa_payment_completed устанавливается в True.

Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.

Тип сравнения должен быть "Полное совпадение"

Для совершения повторного платежа обязательно должен быть красный блок(конец сбора данных) в схеме. У каждого платежа есть свой уникальный номер, и он обновляется после перехода в красный блок.

Подключение автоматических платежей

Для подключения автоматических платежей необходимо установить переключатель при подключении ЮKassa

В этом случае при оплате появится предупреждение о подключении подписки

После успешной оплаты в сервисе появится переменная yandex_payment_method_id. Эту переменную необходимо использовать при повторных платежах.

Для поведения повторного платежа необходимо использовать функцию:

https://store.salebot.pro/function/yandex_kassa_auto_pay

Тип запроса: POST-json Параметры: shop_id - идентификатор магазина из настроек secret_key - ключ из настроек подключения payment_sum - сумма платежа yandex_payment_method_id - необходимо передать переменную: #{yandex_payment_method_id} order_id - необходимо передать переменную: #{order_id} payment_title - описание платежа(необязательный параметр) Сохраняемые значения из JSON-ответа: response -> yandex_kassa_payment_id По переменной yandex_kassa_payment_id система определит что именно оплатил пользователь. Для тестирования вы можете вывести на экран переменную #{custom_answer}. В случае успеха ответ будет вида: {"status":"1","response":"265b608b-000f-5000-a000-1fab5b6fd51b"}

Пример параметров:

{"shop_id": "653775", "secret_key": "test_k4kyf6E00dpq5ft7vGHmxXCo23JKziwt729O-WcdL8s", "payment_sum": 200, "yandex_payment_method_id": "#{yandex_payment_method_id}", "order_id": "#{order_id}"}

Для тестирования платежа вам необходимо самостоятельно подтвердить платеж в Яндекс.Кассе

Для подтверждения платежа необходимо нажать кнопку "Подтвердить" в списке платежей

Платеж в списке появляется спустя несколько минут и кнопка "Подтвердить" также появляется не сразу

Использование

Автоматические платежи необходимо использовать аккуратно, необходимо предусмотреть возможность отписки от платежа. Также, не всегда требуется подтверждение при проведении платежа и вы можете в случае ошибки списать все деньги у человека. Будьте аккуратны.