- Быстрая регистрация и подтверждение мерчанта
- Регистрация мерчанта для физических лиц без сайта
- Единый процент для физических и юридических лиц – 2.5%
- Наличие Google Play и ApplePay
Как подключить
Для подключения платежной системы Wayforpay вам понадобятся 3 значения:
- логин мерчанта
- секретный ключ мерчанта
- доменное имя сайта мерчанта.
Перейдите в личный кабинет -> настройки магазина https://m.wayforpay.com/mportal/merchant/list

Скопируйте данные и перейдите в настройки в Mavibot.
Откройте раздел "Эквайринг", выберите wayforpay.

Вам необходимо ввести полученные данные в открывшейся форме:

Для генерации ссылки на оплату необходимо задать значение переменной payment_sum (например, 150 или 100.55, если сумма дробная, то сумма отделяется точкой):

Сразу после этого появится переменная wayforpay_pay_url. Эту переменную можно отобразить в сообщении со ссылкой или разместить на кнопке с текстом "Оплатить":
Вариант 1. Ссылка на оплату в кнопке:

Вариант 2. Ссылка на оплату в поле url вложения:

Ссылка выглядит так:
https://secure.wayforpay.com/invoice/id1bbb2ad0375
По умолчанию установлена USD (доллары), если нужна другая валюта, необходимо задать значение переменной currency.
Также перед заданием значения переменной payment_sum можно задать следующие необязательные переменные для настройки платежа.
currency - валюта заказа по умолчанию, UAH (возможные значения: USD, EUR, RUB)
session_timeout - время жизни ссылки в секундах, по умолчанию 3600 (1 час)
product_name - название товара
language - язык страницы оплаты, по умолчанию UA (возможные значения: RU, EN)
buyer_name - имя покупателя
buyer_email - email покупателя
buyer_first_name - имя покупателя
buyer_last_name - фамилия покупателя
Вот так выглядит страница оплаты со ссылкой.
Давайте создадим ссылку для оплаты на сумму 1 USD со временем жизни 2 часа:

Обратите внимание:
- Сначала укажите необязательные параметры product_name и т.д.
- И в последнюю очередь присвойте значение переменной payment_sum.
Обратите внимание, что мы сначала задаем переменные для настроек, затем payment_sum. Переменные можно задавать раньше в цепочке, а не в одном блоке, это пример.
Далее, в следующем блоке мы выводим переменную wayforpay_pay_url, которая содержит ссылку (например, ссылка в тексте):

Бот будет работать следующим образом:

Как обработать результат
После успешной оплаты в бот будут отправлены колбэки, которые сообщат, что оплата прошла успешно. Вы видите эти колбэки в системе как сообщения от пользователя, чтобы пользователь не мог их отправить, они состоят из первых 10 символов секретного ключа и постскриптума _success, например: flk3409ref_success

Эти колбэки НЕ ВИДНЫ пользователю, они отображаются только оператору.
Тип сравнения должен быть "Полное совпадение"
Также после успешной оплаты переменная wayforpay_payment_completed устанавливается в True.
Например, вы можете обработать успешную оплату в условном блоке и вывести соответствующее сообщение пользователю:


Если вы не хотите выбивать клиента из основной схемы чат-бота, используйте блок "Не-состояние с условием". В этот блок нельзя перейти, поэтому клиент не выбьется из основной воронки после оплаты и получит уведомление об успешной оплате.
А если вам нужно продолжить воронку с реакцией на успешную оплату, используйте блок "Стартовое условие", тогда клиент перейдет из блока оплаты в блок "Стартовое условие", откуда вы сможете продолжить воронку.
Более подробная информация об условных блоках представлена в одноименной статье
После завершения оплаты к клиенту будет добавлена переменная wayforpay_callback_data, содержащая данные ответа платежной системы о выполненной транзакции. Вы можете извлечь необходимые данные из полученного словаря с помощью метода get.
Функции для работы с калькулятором
Для рекуррентных платежей
wayforpay_recurrent_payment(amount, currency, session_timeout, product_name, language, buyer_name, buyer_email, regular_date_next, regular_date_end, regular_count, regular_mode) - генерирует ссылку для рекуррентного платежа.
Отмена рекуррентного платежа
wayforpay_delete_recurrent() - отменяет будущие автоматические платежи клиента. Возвращает "Ok" при успешном выполнении.

Вы также можете использовать блоки "Стартовый триггер" и "Состояние" (в примере используются блоки "Не-состояние с условием" и "Не-состояние").
Если вы не хотите удалять клиента из основного потока чат-бота, используйте блок "Не-состояние с условием" — в этот блок нельзя войти вручную, поэтому клиент останется в основной воронке после оплаты, при этом получив уведомление об успешной оплате.
Если вам нужно продолжить воронку на основе успешной оплаты, используйте блок "Стартовый триггер". В этом случае клиент перейдет из блока оплаты в блок "Стартовое условие", откуда вы сможете продолжить воронку.