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 можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".

Ссылка имеет вид: https://www.paypal.com/checkoutnow?token=07N53571YM296381N

Пример реализации.

Задаем сумму платеж 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.

В качестве примера обработки результата операции, связанной с подпиской, воспользуйтесь примером ниже:

Last updated