Bepaid (ru)

Як підключити

Для підключення платіжної системи bePaid вам знадобляться ID Магазину, секретний ключ і публічний ключ. Після їх отримання переходимо до налаштувань у MaviBot.

У MaviBot відкриваємо розділ "Еквайринг", обираємо bePaid. Потрібно ввести отримані дані.

Зверніть увагу, що останнє поле є перемикачем хостингу API залежно від країни користування: Білорусь або Росія.

Як сформувати посилання на оплату

Для генерації посилання на оплату вам необхідно встановити значення змінної payment_sum (наприклад 150 або 100.55 (через крапку!)), одразу після цього з’явиться змінна bepaid_pay_url. Цю змінну можна вивести на екран як посилання або розмістити на кнопці з текстом "Оплатити".

Посилання має вигляд: https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1aarrow-up-right

Також до встановлення значення змінної payment_sum можна задати такі необов’язкові змінні для налаштування платежу.

circle-info

За замовчуванням встановлено білоруський рубль, якщо потрібна інша валюта, потрібно встановити значення змінної currency

Параметри функції
Опис параметра
Додатково

currency

валюта оплати у ISO-4217arrow-up-right форматі

наприклад 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.06.2025).

За замовчуванням оплата має бути здійснена протягом 24 годин

Також можна в полі "Призначення змінних при переході" вказати: link_expired = current_date + 2 (посилання буде дійсним 2 дні до 00:00)

link_expired так само можна вказати дату з точним часом, через пробіл, у форматі дд.мм.рррр гг:хх (наприклад: 25.06.2025 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”: “[email protected]” }’

bepaid_contract (умовно обов’язковий)

призначення платежу за токеном.

Очікувані значення: “recurring” (для регулярних оплат із заданою періодичністю) або “card_on_file” (для нерегулярних платежів, наприклад, післяплата за надану послугу)

Після завершення оплати клієнту буде додано змінну bepaid_callback_data, що містить дані відповіді платіжної системи щодо здійсненої операції. З отриманого словника можна витягти необхідні дані за допомогою методу get.

Як тестувати платежі

Для проведення тестового платежу до вказання змінної payment_sum потрібно задати змінну test_payments з будь-яким значенням.

Не забудьте прибрати її під час запуску бота в бойовому режимі!

Карти для тестів:

4200000000000000 успіх

4005550000000019 невдача

Якщо щось не працює, порівняйте дані з даними на офіційному сайті: https://docs.bepaid.by/ru/test-integration#test-card-numberarrow-up-right

Приклад формування посилання на оплату

Створимо посилання на оплату в розмірі 100 білоруських рублів (валюта за замовчуванням)

Зверніть увагу, спочатку задаємо додаткові змінні для налаштувань, потім payment_sum. Змінні можна задати й раніше в ланцюжку, а не в одному блоці, це приклад.

Далі в потрібному місці виводимо змінну bepaid_pay_url, у якій міститься посилання

Керування підписками

Інтеграція платіжної системи надає можливість створювати підписки для ваших клієнтів.

Перед початком використання функціоналу MaviBot створіть план підписки в особистому кабінеті bePaid.

circle-exclamation

Створення підписки та отримання посилання на оплату

Скористайтеся функцією 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” для нерегулярних платежів (наприклад, післяплата за надану послугу).

circle-exclamation

Після успішної оплати, в угоду буде додано змінну bepaid_client_card_token, у якій збережеться токен картки клієнта. Цей токен дозволяє списувати кошти з картки клієнта без його участі.

Потім налаштуйте воронку і встановіть дату або умову для автоматичного списання та викличте функцію калькулятора make_bepaid_token_payment, передавши їй необхідні параметри.

Порядок слідування параметрів:

amount -> currency -> description -> contract

Опис параметрів:

amount (обов’язковий)

сума платежу, очікуване значення - ціле або десяткове число, наприклад 100 або 100.5;

currency (обов’язковий)

валюта оплати у ISO-4217arrow-up-right форматі, наприклад “USD”

description (обов’язковий)

опис причини списання, наприклад, “Оплата щотижневої підписки на участь у клубі за інтересами”;

contract (обов’язковий)

призначення платежу за токеном. Очікувані значення: “recurring” або “card_on_file”.

circle-exclamation

Якщо платіж пройшов успішно, функція поверне повідомлення “Успішне списання за токеном bePaid“, ви отримаєте коллбек про успішну оплату, а змінна угоди bepaid_token_payment_completed набуде значення “True”.

Якщо платіж не пройшов, функція поверне повідомлення із зазначенням причини невдалої оплати, в бот надійде коллбек із суфіксом “_fail”, а змінна угоди bepaid_token_payment_completed набуде значення “False”.

circle-exclamation

Як обробити результат

У відповідь на дії клієнта в бот приходитимуть коллбеки, що складаються з 20 перших символів секретного ключа та суфікса, який залежить від типу та результату операції.

У системі коллбек виглядає як повідомлення від користувача, однак сам користувач його не бачить.

Для оплат

У результаті оплати, що не стосується підписки, вам надійде одне з повідомлень:

номерКлюча_success - при успішній оплаті;

номерКлюча_fail - при невдалій оплаті;

Статус останньої оплати також можна відстежити за змінними bepaid_payment_completed (для оплат за участю клієнта) і bepaid_token_payment_completed (для безакцептних оплат за токеном картки)

Для підписок

Після успішної активації підписки під час першої або повторної оплати в бот надійде повідомлення номерКлюча_success.

Якщо підписку було скасовано, ви отримаєте номерКлюча_canceled.

У разі невдалої оплати за підпискою вам надійде повідомлення номерКлюча_fail.

Last updated