Paypal
Настройка приема платежей в чат-боте через Paypal
Last updated
Настройка приема платежей в чат-боте через Paypal
Last updated
Для работы с paypal, нужно получить два ключа: client_id и secret
Переходим на страницу https://developer.paypal.com/developer/applications/
И выбираем из списка или создаем новое приложение:
Вверху меняем переключатель в Live режим и выбираем нужное приложение. Открывается страница с настройками, где находятся нужные нам данные:
Копируем данные и вставляем в соответствующие поля в настройках Salebot - Платежные системы - Paypal:
На этом подключение окончено.
Для генерации ссылки на оплату, вам необходимо установить значение переменной 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, передав в неё необходимые параметры:
Параметры функции | Описание параметра |
---|---|
! 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 | идентификатор подписки. |
Результат исполнения функции - массив со всей информацией о подписке, включая число оплат, число неудачных попыток списания, статус и прочее
Функция paypal_remove_subscription(paypal_subscription_id) поможет отменить подписку на ваши услуги клиентами.
Параметры:
Параметры функции | Описание |
---|---|
paypal_subscription_id | 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.
В качестве примера обработки результата операции, связанной с подпиской, воспользуйтесь примером ниже: