Bepaid
Last updated
Last updated
Для подключения платежной системы Bepaid вам потребуется ID Магазина, секретный ключ и публичный ключ. После их получения переходим к настройкам в Salebot
В salebot открываем раздел платежные системы, выбираем Bepaid. Нужно ввести полученные данные.
Обратите внимание, что последнее поле является переключателем хостинга API в зависимости от страны пользования: Беларусь или Россия.
Для генерации ссылки на оплату, вам необходимо установить значение переменной payment_sum (например 150 или 100.55 (через точку!)), сразу после этого появится переменная bepaid_pay_url. Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".
Ссылка имеет вид: https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a
Также до установки значения переменной payment_sum, можно задать следующие необязательные переменные, для настройки платежа.
По умолчанию установлен Белорусский рубль, если нужна другая валюта нужно установить значение переменной currency
Параметры функции | Описание параметра | Дополнительно |
---|---|---|
currency | валюта оплаты в ISO-4217 формате | например USD |
language | язык страницы оплаты По умолчанию - en. | Допустимые значения: en - Английский es - Испанский tr - Турецкий de - Немецкий it - Итальянский ru - Русский zh - Китайский fr - Французский da - Датский sv - Шведский no - Норвежский fi - Финский pl - Польский ja - Японский uk - Украинский be - Белорусский ka - Грузинский ro - Румынский |
payment_description | описание платежа | |
link_expired | время жизни ссылки на оплату, в формате дд.мм.гггг (например 25.01.2021). По умолчанию оплата должна быть сделана в течение 24 часов | Также можно в поле "Назначение переменных при переходе" указать: link_expired = current_date + 2 (ссылка будет действительна 2 дня до 00:00) link_expired так же можно указать дату с точным временем, через пробел, в формате дд.мм.гггг чч:мм (например: 25.01.2021 12:23). По умолчанию оплата должна быть сделана в течение 24 часов Так же можно использовать стандартные переменные, например зададим время действия ссылки 30 минут: time = current_time + 30 link_expired = "#{current_date} #{time}" |
russian_host | индикатор регистрации магазина на российском хосте bePaid. Укажите, данный параметр со значением 1, если ваш магазин зарегистрирован на сайте bepaid.tech | Если необходимо переключить хост на белорусский, укажите параметр со значением '' |
test_payments | переменная нужна для тестовых платежей, если нужен тестовый платеж, добавить с любым значением. | |
bepaid_attempts | указывает количество попыток совершить платеж, по умолчанию дается 1 попытка. | |
сustomer_data | массив, содержащий first_name, last_name и email плательщика. Данные необходимы для отправки чека на почту плательщика и доступны для редактирования на странице оплаты. | Параметр должен быть передан в виде списка в формате json, состоящего из пар ключ-значение например: customer_data = ‘{“first_name”: “Vladimir”, “last_name”: “Popov”, “email”: “v.popov@salebot.pro” }’ |
bepaid_contract (условно обязательный) | назначение платежа по токену. | Ожидаемые значения: “recurring” (для регулярных оплат с заданной периодичностью) или “card_on_file” (для нерегулярных платежей, например, постоплата за оказанную услугу) |
После завершения оплаты клиенту добавится переменная bepaid_callback_data, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода get.
Для проведения тестового платежа до указания переменной payment_sum, нужно задать переменную test_payments с любым значением.
Не забудьте ее убрать при запуске бота в боевом режиме!
Карты для тестов:
4200000000000000 succes
4005550000000019 failed
Если что-то не работает сравните данные с данными на официальном сайте: https://docs.bepaid.by/ru/test-integration#test-card-number
Создадим ссылку на оплату в размере 100 белорусских рублей (валюта по умолчанию)
Обратите внимание, вначале задаем дополнительные переменные для настроек, затем payment_sum. Переменные можно задать и ранее в цепочке, а не в одном блоке, это пример.
Далее в нужном месте выводим переменную bepaid_pay_url, в которой содержится ссылка
Интеграция платежной системы предоставляет возможность создавать подписки для ваших клиентов.
Перед началом использования функционала salebot, создайте план подписки в личном кабинете bePaid.
Если в личном кабинете не отображается меню “Планы” и “Подписки”, обратитесь к вашему менеджеру.
Воспользуйтесь функцией get_bepaid_subscription_url, передав в неё параметр plan_id, где
plan_id | id плана в системе bePaid. |
В результате выполнения функция создаст подписку и вернёт ссылку на ее оплату.
Отправьте ссылку клиенту и дождитесь завершения оплаты.
При успешной оплате, подписка активируется, в сделку добавятся переменные bepaid_subscription_id и bepaid_subscription_status, а в бот придёт колбек (см. раздел “Как обработать результат”).
Чтобы получить данные текущей подписки клиента, вызовите функцию get_bepaid_subscription_info, передав в неё параметр subscription_id (значение можно взять из переменной bepaid_subscription_id).
Чтобы отменить подписку, используйте функцию cancel_bepaid_subscription.
Данная функция принимает единственный параметр subscription_id (значение можно взять из переменной bepaid_subscription_id).
При успешной отмене переменная bepaid_subscription_status примет значение “canceled”, а в бот придёт колбек (см. раздел “Как обработать результат”).
trial | Активная или отмененная подписка пробного периода. |
active | Активная подписка, выплата по которой была в срок. |
failed | Неудавшаяся подписка. bePaid был не в состоянии провести очередной платеж. |
error | Произошла ошибка при попытке bePaid провести платеж. |
canceled | Подписка отменена и больше не действует. |
Вы также можете организовать систему подписок без создания плана в личном кабинете bePaid.
Для этого вам понадобиться токен карты клиента.
Чтобы получить токен карты, клиент должен произвести установочную оплату по ссылке, сгенерированной через payment_sum.
До установки значения payment_sum, задайте переменную bepaid_contract, в которой укажите назначение будущих платежей по токену: “recurring” для регулярных оплат с заданной периодичностью или “card_on_file” для нерегулярных платежей (например, постоплата за оказанную услугу).
Опция “card_on_file” поддерживается не всеми эквайерами. Если вы хотите ее использовать, свяжитесь со своим аккаунт менеджером.
После успешной оплаты, в сделку добавится переменная bepaid_client_card_token, в которой сохранится токен карты клиента. Данный токен позволяет списывать средства с карты клиента без его участия.
Затем настройте воронку и установите дату или условие для автоматического списания и вызовите функцию калькулятора make_bepaid_token_payment, передав в неё необходимые параметры.
Порядок следования параметров:
amount -> currency -> description -> contract
amount (обязательный) | сумма платежа, ожидаемое значение - целое или десятичное число, например 100 или 100.5; |
currency (обязательный) | валюта оплаты в ISO-4217 формате, например “USD” |
description (обязательный) | описание причины списания, например, “Оплата еженедельной подписки на участие в клубе по интересам”; |
contract (обязательный) | назначение платежа по токену. Ожидаемые значения: “recurring” или “card_on_file”. |
Значение contract обязательно должно соответствовать значению, указанному при создании ссылки на установочный платеж!
Если платеж прошел успешно, функция вернет сообщение “Успешное списание по токену bePaid“, вы получите колбек об успешной оплате, а переменная сделки bepaid_token_payment_completed примет значение “True”.
Если платеж не прошел, функция вернет сообщение с указанием причины неудавшейся оплаты, в бот придет колбек с суффиксом “_fail”, а переменная сделки bepaid_token_payment_completed примет значение “False”.
Банк может запросить завершение платежа клиентом. В таком случае функция вернет ссылку, с запросом прохождения аутентификации 3-D Secure.
В ответ на действия клиента в бот будут приходить колбеки, состоящие из 20 первых символов секретного ключа и суффикса, зависящего от типа и результата операции.
В системе колбек выглядит как сообщение от пользователя, однако сам пользователь его не видит.
В результате оплаты, не относящейся к подписке, вам придёт одно из сообщений:
номерКлюча_success - при успешной оплате;
номерКлюча_fail - при неудавшейся оплате;
Статус последней оплаты можно также отследить по переменным bepaid_payment_completed (для оплат с участием клиента) и bepaid_token_payment_completed (для безакцептных оплат по токену карты)
После успешной активации подписки при первой или повторной оплате, в бот придёт сообщение номерКлюча_success.
Если подписка была отменена, вы получите номерКлюча_canceled.
В случае неудавшейся оплаты по подписке, вам придёт сообщение номерКлюча_fail.