- Как настроить PayPal
- Как создать ссылку на оплату
- Как создать реккурентный платеж
- Как обработать результат
Как настроить PayPal
Для работы с PayPal нужно получить два ключа: client_id и secret.
Переходим на страницу:
https://developer.paypal.com/developer/applications/
И выбираем из списка или создаем новое приложение:

Вверху меняем переключатель в режим Live и выбираем нужное приложение. Открывается страница с настройками, где находятся нужные нам данные:

Копируем данные и вставляем в соответствующие поля в настройках Salebot: перейдите в раздел «Эквайринг» и найдите сервис PayPal:
Далее нажмите «Подключить» и заполните поля ранее полученными секретным ключом и Client ID:
Далее нажмите «Сохранить настройки». На этом подключение окончено.
Как создать ссылку на оплату
С помощью переменной payment_sum
Для генерации ссылки на оплату вам необходимо установить значение переменной payment_sum, и сразу после этого появится переменная paypal_pay_url.
| Параметр | Описание параметра | Примечание |
|---|---|---|
payment_title |
Необязательная переменная. Это название товара. | Если не указать, заполняется текстом: «Оплата счета order_id» (order_id — идентификатор заказа в Salebot). |
payment_description |
Описание товара, необязательное поле. | |
company_name |
Название вашей компании, отображается в самом верху платежной страницы. |

Кроме этого, до указания payment_sum можно задать, на каком языке будет платежная страница.
Для этого нужно задать переменную locale. По умолчанию стоит русский язык (ru-RU).
Возможные варианты:
da-DK
he-IL
id-ID
ja-JP
no-NO
pt-BR
ru-RU
sv-SE
th-TH
zh-CN
zh-HK
zh-TW
и другие. Набор доступных языков меняется, ориентируйтесь на первоисточник.
Также можно указать валюту, в которой производится прием оплаты. Для этого указываем переменную currency.
По умолчанию установлен рубль (RUB). Для доллара задайте ее значение USD:
currency = "USD"
Возможные варианты валют можно узнать по ссылке.
Третий дополнительный параметр — company_name. Это название вашей компании, которое отображается в самом верху платежной страницы.
Переменную paypal_pay_url можно вывести на экран ссылкой или разместить на кнопке с текстом «Оплатить».
Ссылка имеет вид:
https://www.paypal.com/checkoutnow?token=07N53571YM296381N
Пример реализации.
Задаем сумму платежа и название компании:
Обратите внимание: переменной
payment_sumприсваивается значение последней, после необязательных переменныхpayment_title,company_nameи т. д.
Далее указываем переменную #{paypal_pay_url} во втором блоке «Состояние».
-
Переменную можно указать в поле сообщения:
-
Переменную можно указать в поле URL в настройках вложения:
-
Переменную можно указать в поле URL в настройках кнопки:
При открытии ссылки на оплату:

С помощью функции калькулятора paypal_payment_url
Создайте блок конструктора воронок и в калькуляторе вызовите функцию paypal_payment_url, передав в неё необходимые параметры:
| Параметр | Описание параметра |
|---|---|
payment_sum |
Обязательный параметр — сумма платежа. |
currency |
Валюта платежа, по умолчанию RUB. Полный список доступен по ссылке. |
payment_title |
Заголовок платежа до 127 символов. Если не указать, заполняется текстом: «Оплата счета payment_id», где payment_id — идентификатор заказа в Salebot. |
payment_description |
Краткое описание платежа до 127 символов. |
company_name |
Необязательный параметр, название организации или компании. |
locale |
Язык страницы оплаты, указывается в виде en-US, fr-XC и т. д. По умолчанию — ru-Ru. Полный список доступен по ссылке. |
При выполнении условия блока клиент получит ссылку для оплаты, а также будет создана переменная клиента paypal_payment_completed со значением False.
url = paypal_payment_url(2500, "RUB", "Оплата счета payment_id", "описание платежа", "название организации", "ru-Ru")
Как создать реккурентный платеж
Для создания и получения ссылки на оплату реккурентными платежами требуется создание плана подписки в личном кабинете.
Выбираем уже созданное предложение:
Либо в поисковой строке вводим название предложения и нажимаем «Создать»:
Выбираем тип автосписания «Фиксированный»:
Создаём подписку:
Выбираем валюту подписки и условия списания:
Важно!
В Salebot по умолчанию валюта в евро, если списание в долларах или в другой валюте, то при создании подписки указываем другую валюту и в Salebot аналогичную валюту из подписки PayPal.
Далее активируем подписку:
После создания будет доступен его идентификатор, который в дальнейшем будем использовать для создания подписки и получения ссылки на оплату.
Ссылка на оплату генерируется и возвращается функцией:
paypal_subscription_url(plan_id, shipping_currency, shipping_payment_sum, start_time)
| Параметр | Описание |
|---|---|
plan_id |
идентификатор плана подписки |
shipping_currency |
если оплата указанного плана в долларах, то можно ничего не передавать, иначе передаем код валюты, который указали в плане. Здесь передается валюта, в которой оплачивается доставка (даже для нулевой стоимости). По умолчанию — USD. |
shipping_payment_sum |
необязательный параметр, стоимость доставки. По умолчанию — нулевая стоимость. |
start_time |
необязательный параметр, дата и время начала действия подписки. Если не передать ничего, то дата начала подписки равна дате оплаты. Форматы: %d.%m.%Y или %d.%m.%Y %H:%M. |
При создании ссылки также появится переменная paypal_subscription_id, в которой будет идентификатор подписки.
При оплате придет коллбэк, который аналогичен оплате обычного платежа.
Получение информации о подписке
Функция:
paypal_subscription_data(paypal_subscription_id)
| Параметр | Описание |
|---|---|
paypal_subscription_id |
идентификатор подписки |
Результат исполнения функции — массив со всей информацией о подписке, включая число оплат, число неудачных попыток списания, статус и прочее.
Как отменить подписку
Функция:
paypal_remove_subscription(paypal_subscription_id)
поможет отменить подписку на ваши услуги клиентами.
Параметры:
| Параметр | Описание |
|---|---|
paypal_subscription_id |
ID подписки, который сохраняется в переменную клиента при оформлении подписки |
Как обработать результат
После успешной оплаты в бот придут коллбеки, по которым вы сможете понять, что была успешная оплата.
В системе вы видите коллбеки как сообщения от пользователя, но сам пользователь их НЕ ВИДИТ: они отображаются только оператору.
Чтобы обработать коллбек в блоке и отправить пользователю сообщение о статусе оплаты, используйте тип сравнения «Полное совпадение».
Коллбеки приходят с задержкой, поэтому после вывода ссылки на оплату пользователю рекомендуется отправить сообщение, например:
«После оплаты дождитесь сообщения об успешном завершении оплаты».
Для прямой оплаты
Коллбек об успешной оплате состоит из 10 первых символов секрета и подписи со статусом.
Например:
EHsWHYOoWV_success
Пример 1: реакция на успешный платеж с помощью блока «Стартовое условие».
Пример 2: реакция на успешный платеж с помощью блока «Стартовое условие».
Если вы не хотите выбивать клиента из основной схемы чат-бота, воспользуйтесь блоком «Не состояние с условием» — в этот блок нельзя перейти, поэтому клиента после оплаты не выбьет из основной воронки, и при этом он получит уведомление об успешной оплате.
Если вам нужно продолжить воронку с реакции на успешную оплату, используйте блок «Стартовое условие», тогда клиент из блока оплаты перейдет в блок «Стартовое условие», с которого вы можете продолжить воронку.
Подробнее о блоках с условием рассказали в одноименной статье.
При успешной оплате переменная paypal_payment_completed устанавливается в значение True.
После завершения оплаты клиенту добавится переменная paypal_callback_data, содержащая актуальные данные платежной системы о статусе операции.
Извлечь необходимые данные из полученного словаря можно при помощи метода get.
Для совершения повторного платежа обязательно необходимо обнулить переменную
payment_sum, переменную с ранее сформированной ссылкой и уже после этого переназначить переменнуюpayment_sumили вызвать функцию для получения свежей ссылки.
Для оплат по подписке
Функция настройки коллбеков для операций, связанных с подписками, добавлена 09.01.2024.
Для корректной работы коллбеков данной категории вам необходимо отключить и снова подключить интеграцию платежной системы PayPal в вашем проекте.
При совершении платежа по подписке в бот придет одно из следующих сообщений:
- об активации подписки. Например:
subscription_I-PTV5H4MRC1H3_activated - об успешном последующем платеже по подписке. Например:
subscription_I-PTV5H4MRC1H3_paid - или об ошибке оплаты подписки. Например:
subscription_I-PTV5H4MRC1H3_not_paid
В указанных примерах I-PTV5H4MRC1H3 — это ID подписки клиента, доступ к которому можно получить с помощью переменной paypal_subscription_id.
Коллбек добавит клиенту переменную paypal_subscription_callback_data, содержащую актуальные данные платежной системы о статусе операции.
Извлечь необходимые данные из полученного словаря можно при помощи метода get.
Пример 1: реакция на активацию подписки с помощью блока «Стартовое условие».
Пример 2: реакция на активацию подписки с помощью блока «Не состояние с условием».