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

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

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

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

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

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

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

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

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

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

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

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

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

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

4200000000000000 success

4005550000000019 failed

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

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

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

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

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

Управління підписками

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

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

Якщо в особистому кабінеті не відображається меню "Плани" та "Підписки", зверніться до вашого менеджера.

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

Скористайтеся функцією get_bepaid_subscription_url, передавши в неї параметр plan_id, де

В результаті виконання функція створить підписку та поверне посилання на її оплату.

Надішліть посилання клієнту та дочекайтеся завершення оплати.

При успішній оплаті підписка активується, в угоду додадуться змінні 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”, а в бот прийде колбек (див. розділ "Як обробити результат").

Статуси підписок

Рекурентні платежі

Ви також можете організувати систему підписок без створення плану в особистому кабінеті 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

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

Значення 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.**