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


На этом подключение окончено.
Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum и сразу после этого появится переменная paypal_pay_url.
payment_title - не обязательная переменная, это название товара. Если не указать заполняется текстом: “Оплата счета order_id” (order_id - идентификатор заказа в сейлбот)
payment_description - описание товара, не обязательное поле
Кроме этого, до указания 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 и др.(набор доступных языков меняется, ориентируйтесь на первоисточник)
И третий дополнительный параметр это company_name - название вашей компании, отображается в самом верху платежной страницы (пример ниже, компания).
Также можно указать валюту в которой производится прием оплаты, для этого указываем переменную currency, по умолчанию установлен рубль (RUB), для доллара задайте ее значение USD (currency = USD). Возможные варианты валют, можно узнать по ссылке https://developer.paypal.com/docs/api/reference/currency-codes/
И третий дополнительный параметр это company_name - название вашей компании, отображается в самом верху платежной страницы (пример ниже, компания )
Переменную paypal_pay_url можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".
Пример реализации.
Задаем сумму платеж 444 руб и название компании

Обратите внимание: переменной payment_sum присваивается значение последней, после необязательных переменных payment_title, company_name и т.д.
При открытии ссылки на оплату
Для создания и получения ссылки на оплату реккурентными платежами требуется создание плана подписки в личном кабинете.


Выбираем уже созданное предложение:

Либо в поисковой строке вводим название предложения и нажимаем Создать


Создание предложения для подписки в пейпал
Выбираем тип автосписания фиксированный:

Создаём подписку

Выбираем валюту подписки и условия списания:
Важно!! В 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.
Эти колбеки НЕ ВИДИТ пользователь, они отображаются только оператору.
Тип сравнения должен быть "Полное совпадение"
Для совершения повторного платежа обязательно необходимо обнулить payment_sum, ранее сформированную ссылку и уже после переназначить переменную payment_sum для получения свежей ссылки. Можно указать предыдущее значение.
Колбеки приходят с задержкой, так что после вывода ссылки на оплату пользователю рекомендуем отправить сообщение, что вроде: “После оплаты дождитесь сообщения об успешном завершении оплаты”
Например, можно сделать обработку успешной оплаты блоком с условием и вывести соответствующее сообщение пользователю:

Тип сравнения должен быть "Полное совпадение"
После завершения оплаты клиенту добавится переменная paypal_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.
Last modified 4mo ago