Salebot.pro
Search
K

Paypal

Настройка приема платежей в чат-боте через Paypal

Как настроить Paypal

Для работы с paypal, нужно получить два ключа: client_id и secret
Переходим на страницу https://developer.paypal.com/developer/applications/
И выбираем из списка или создаем новое приложение:
Вверху меняем переключатель в Live режим и выбираем нужное приложение. Открывается страница с настройками, где находятся нужные нам данные:
Копируем данные и вставляем в соответствующие поля в настройках Salebot - Платежные системы - Paypal:
На этом подключение окончено.

Как создать ссылку на оплату

С помощью переменной payment_sum

Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum и сразу после этого появится переменная paypal_pay_url.
Параметры функции
Описание параметр
Примечание
payment_title
(необязательная переменная)
это название товара.
Если не указать заполняется текстом: “Оплата счета order_id” (order_id - идентификатор заказа в сейлбот)
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 можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".
Пример реализации.
Задаем сумму платеж 444 руб и название компании
Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_title, company_name и т.д.
При открытии ссылки на оплату

С помощью функции калькулятора paypal_payment_url

Создайте блок конструктора воронок и в калькуляторе вызовите функцию paypal_payment_url, передав в неё необходимые параметры:
Параметры функции
Описание параметра
! payment_sum
обязательный параметр - сумма платежа
currency
валюта платежа, по умолчанию ‘RUB’. Полный список доступен по ссылке https://developer.paypal.com/docs/api/reference/currency-codes/
payment_title
заголовок платежа (до 127 символов). (Если не указать, заполняется текстом: “Оплата счета payment_id”, где payment_id - идентификатор заказа в Salebot)
payment_description
краткое описание платежа
(до 127 символов)
company_name
необязательный параметр, название организации/компании и т.п.
locale
язык страницы оплаты, указывается в виде en-US, fr-XC и т. д.
По умолчанию - ‘ru-Ru’.
Полный список доступен по ссылке https://developer.paypal.com/api/rest/reference/locale-codes/
При выполнении условия блока клиент получит ссылку для оплаты, а также будет создана переменная клиента paypal_payment_completed со значением False.
Пример блока с вызовом функции :

Как создать реккурентный платеж

Для создания и получения ссылки на оплату реккурентными платежами требуется создание плана подписки в личном кабинете.
Выбираем уже созданное предложение:
Либо в поисковой строке вводим название предложения и нажимаем Создать
Создание предложения для подписки в пейпал
Выбираем тип автосписания фиксированный:
Создаём подписку
Выбираем валюту подписки и условия списания:
Важно!! В 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
идентификатор подписки.
Результат исполнения функции - массив со всей информацией о подписке, включая число оплат, число неудачных попыток списания, статус и прочее

Как обработать результат

После успешной оплаты в бот придут колбеки, по которым вы сможете понять, что была успешная оплата.
В системе вы видите колбеки как сообщения от пользователя, но сам пользователь их НЕ ВИДИТ: они отображаются только оператору.
Чтобы обработать колбек в блоке и отправить пользователю сообщения о статусе оплаты, используйте тип сравнения “Полное совпадение”.
Колбеки приходят с задержкой, поэтому после вывода ссылки на оплату пользователю рекомендуется отправить сообщение, например: “После оплаты дождитесь сообщения об успешном завершении оплаты”

Для прямой оплаты

Колбек об успешной оплате состоит из 10 первых символов секрета и подписи со статусом. Например: EHsWHYOoWV_success
При успешной оплате переменная 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.
В качестве примера обработки результата операции, связанной с подпиской, воспользуйтесь примером ниже: