Як налаштувати Robokassa
Розгляньмо, як приймати платежі в боті через сервіс Robokassa.
- Створіть інтернет-магазин у своєму обліковому записі Robokassa та вкажіть такі технічні налаштування:
- Алгоритм обчислення хешу:
MD5 - URL результату: https://chatter.mavibot.ai/robokassa_callback/result
- Метод передачі даних для URL результату:
GET - URL успіху: https://chatter.mavibot.ai/robokassa_callback/success
- Метод передачі даних для URL успіху:
GET - URL невдачі: https://chatter.mavibot.ai/robokassa_callback/fail
- Метод передачі даних для URL невдачі:
GET

Створіть тестові паролі та виконайте початкове налаштування в тестовому режимі.
Як підключити Robokassa до MaviBot
Перейдіть до розділу Еквайринг і натисніть Підключити на картці Robokassa:

Заповніть форму у вікні, що відкриється:
- ID магазину — ідентифікатор магазину, який можна знайти в налаштуваннях магазину в обліковому записі Robokassa.
- Пароль №1 та Пароль №2 — унікальні згенеровані послідовності літер і цифр.
- Ставка ПДВ — вкажіть відповідний код для передачі значення ПДВ. Це поле встановлює податкову ставку в касовому апараті. Вона визначається окремо для кожного типу товару, але застосовується до всіх одиниць цього конкретного товару разом.
Доступні значення:
- Без ПДВ.
- ПДВ за ставкою 0%.
- ПДВ за ставкою 5%.
- ПДВ за ставкою 12%.
- ПДВ за ставкою 16%.
Як створити платіжне посилання
Ви можете створити платіжне посилання в блоці, використовуючи ОДИН ІЗ доступних методів:
- Кнопка з функцією Оплата, або
- Функція
get_robokassa_payment_urlу Калькуляторі, або- Створення посилання за допомогою змінної
payment_sumта додаткових параметрів — застарілий, але все ще робочий метод.
Кнопка Оплата
Ви можете створити платіжне посилання за допомогою кнопки з функцією Оплата.
Дізнайтеся, як створити кнопку з функцією Оплата, тут.
Розгляньмо всі доступні параметри кнопки.
Обов'язкові параметри кнопки Оплата
Щоб створити платіжне посилання, вкажіть такі обов'язкові параметри в налаштуваннях кнопки:
- Сума
- Назва товару

Сума — вкажіть ціну товару в рублях.
Назва товару — це поле може містити лише англійські або російські літери, цифри та розділові знаки. Максимальна довжина — 100 символів. Ця інформація відображається в інтерфейсі Robokassa та в електронному чеку, який отримує клієнт після успішної оплати.
НЕ використовуйте подвійні лапки в назві товару. Видаліть їх або замініть на одинарні лапки.
Прапорець автоматичного платежу — вмикає регулярні платежі.
Прапорець сповіщення про клік — вмикає відстеження кліків по платіжному посиланню. Якщо ввімкнено, сповіщення про клік з'явиться в розмові з клієнтом у MaviBot.
Ви можете налаштувати подальшу логіку бота на основі цього сповіщення.
Багато платіжних систем підтримують хмарні онлайн-каси, необхідні згідно з Федеральним законом № 54-ФЗ.
Ознайомтеся з вимогами до чеків на сайті вашого платіжного провайдера, щоб уникнути проблем із податковими органами.
Дані чека
Відкрийте меню Дані чека, щоб відобразити параметри чека:

Назва товару — обов'язково для створення чека.
НЕ використовуйте подвійні лапки в назві товару. Видаліть їх або замініть на одинарні лапки.
Загальна сума в рублях — вкажіть загальну суму платежу на основі кількості товару. Якщо кількість дорівнює 1, загальна сума в рублях дорівнює значенню, введеному в обов'язковому полі Сума.
Кількість — кількість або вага товару. Ви можете передати ціле число або десяткове число з крапкою, наприклад:
5
або
10.3
Змінні клієнта, які створюються автоматично під час використання кнопки Оплата
Як тільки користувач отримує блок, що містить кнопку Оплата, автоматично створюються такі змінні клієнта:

Службова змінна клієнта:
__payments
зберігає суму платежу та ідентифікатор створеного платіжного посилання. Вона необхідна для ідентифікації вебхука, отриманого від платіжного провайдера.
Службову змінну
__paymentsНЕ МОЖНА видаляти або змінювати.
Змінна клієнта:
error_payment_button
створюється, якщо під час створення кнопки оплати сталася помилка.
Значення error_payment_button міститиме або текст помилки, або відповідь про помилку, повернуту платіжним провайдером.
Значення змінних стають актуальними після переходу користувача до наступного блоку.
Як обробити результат
Зверніть увагу
Robokassa надсилає сповіщення лише про успішні транзакції через URL результату.
Robokassa не надає зворотних викликів для неуспішних платежів.
URL невдачі — це лише сторінка неуспішного платежу, на яку перенаправляється платник, якщо на сторінці оплати сталася помилка.
Успішний платіж
Після правильного налаштування платежу та створення платіжного посилання протестуйте налаштування.
Якщо платіж успішний, зворотний виклик буде надіслано АВТОМАТИЧНО в розмову з клієнтом у розділі Клієнти.
Зворотний виклик складається з:
- 10 символів секретного ключа платіжного провайдера;
- слова
_success; - суми платежу після пробілу.
Зворотний виклик створюється автоматично. Вам не потрібно створювати його самостійно або звертатися до служби підтримки платіжного провайдера.


Приклад:
ovg58keefc_success 2999
Де:
-
ovg58keefc— 10 символів секретного ключа платіжного провайдера; -
_success— результат обробки запиту, що вказує на успішний платіж; -
2999— сума платежу.
Виконання блоку:

Зворотний виклик:

Зворотні виклики платіжного провайдера НЕ ВИДНІ користувачеві.
Вони відображаються лише в розділі Клієнти та видимі оператору або адміністратору.
Приклад налаштування відповіді на зворотний виклик
В умовному блоці, наприклад, блоці Стартова умова або Нестандартний з умовою, вкажіть зворотний виклик, отриманий після оплати.
Виберіть тип збігу Точний збіг або Містить ключові слова.

Після оплати клієнт отримає повідомлення з блоку, налаштованого на відповідь на зворотний виклик:

Помилка суми платежу
Якщо сума, вказана в налаштуваннях кнопки, відрізняється від суми, сплаченої клієнтом, бот автоматично отримає зворотний виклик, що складається з:
- 10 символів секретного ключа платіжного провайдера;
-
_different_amounts; - унікального ідентифікатора платежу після пробілу.
Приклад:
ovg58keefc_different_amounts 123456
Де:
-
ovg58keefc— 10 символів секретного ключа платіжного провайдера; -
_different_amounts— вказує, що сплачена сума відрізняється від суми в платіжному посиланні; -
123456— унікальний ідентифікатор платежу.
Функція get_robokassa_payment_url у Калькуляторі
Ви можете створити платіжне посилання за допомогою функції get_robokassa_payment_url у блоці Калькулятор.
У полі Калькулятор призначте результат функції get_robokassa_payment_url змінній.
Ви можете вибрати назву змінної самостійно. На скріншотах показано приклади назв змінних.
Платіжне посилання буде збережено в цій змінній.
Ви можете відобразити змінну як посилання в повідомленні або розмістити її в кнопці з текстом, наприклад, Оплатити.
Приклад платіжного посилання:
https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda
Багато платіжних систем підтримують хмарні онлайн-каси, необхідні згідно з Федеральним законом № 54-ФЗ.
Ознайомтеся з вимогами до чеків на сайті вашого платіжного провайдера, щоб уникнути проблем із податковими органами.
Калькулятор
Приклад 1:

Опис параметрів
get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)
Параметри функції
| Параметр | Опис |
|---|---|
amount |
Сума платежу. Вкажіть ціну товару в рублях. Обов'язковий параметр. |
description |
Назва товару. Це поле може містити лише англійські або російські літери, цифри та розділові знаки. Максимальна довжина — 100 символів. Ця інформація відображається в інтерфейсі Robokassa та в електронному чеку, який отримує клієнт після успішної оплати. Обов'язковий параметр. |
products_for_receipt |
Параметри створення чека. Докладніше тут. |
recurrent |
Вмикає регулярні платежі. Передайте 1, якщо регулярні платежі ввімкнено, або None, якщо вимкнено. |
currency |
Трилітерний код валюти. Значення має суворо відповідати параметрам, прийнятим Robokassa.USD — долар США;EUR — євро;KZT — тенге. |
Приклади коду
Приклад 1: Платіжне посилання без чека
res = get_robokassa_payment_url(100, 'Buy me')
Приклад 2: Платіжне посилання з чеком
receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]
res = get_robokassa_payment_url(100, 'Buy me', receipt, '3', 1, 1)
Ви можете відобразити змінну як посилання в повідомленні або розмістити її в кнопці з текстом, наприклад, Купити.
Якщо блок містить кілька функцій платіжного посилання і сталася помилка, значення помилки буде збережено в змінній:
error_payment_funcБуде збережено помилку з останньої функції в Калькуляторі.
Після правильного налаштування платежу та створення платіжного посилання протестуйте налаштування.
Як додати опис платежу
Ви можете додати опис платежу, встановивши змінну:
payment_description

Опис буде відображатися на формі оплати та в чеку.
Як обробити результат
Якщо платіж успішний, зворотний виклик буде надіслано АВТОМАТИЧНО в розмову з клієнтом у розділі Клієнти.
Зворотний виклик складається з:
- 10 символів секретного ключа платіжного провайдера;
-
_success; - суми платежу після пробілу.
Зворотний виклик створюється автоматично. Вам не потрібно створювати його самостійно або звертатися до служби підтримки платіжного провайдера.
Приклад:
ovg58keefc_success 1500
Де:
-
ovg58keefc— 10 символів секретного ключа платіжного провайдера; -
_success— результат обробки запиту, що вказує на успішний платіж; -
1500— сума платежу.
Зверніть увагу
Зворотний виклик видимий лише вам у розмові з клієнтом.
Зворотний виклик не видимий клієнту, але ви можете налаштувати відповідь на успішний платіж.
Приклад
Налаштування блоку з використанням функції get_robokassa_payment_url:
1. Відображення посилання в тексті повідомлення

Важливо
Платіжне посилання є унікальним. Ви не повинні копіювати його та надсилати іншим клієнтам.
Надсилайте платіжне посилання через змінну в боті.
Зворотний виклик після успішної оплати:

2. Відображення посилання в кнопці

Виконання блоку:

Зворотний виклик після успішної оплати:
