# Robokassa

{% hint style="success" %}
Всем, **зарегистрировавшимся** [**по ссылке**](https://partner.robokassa.ru/Reg/Register?PromoCode=01spirin\&culture=ru) **(или промокоду),** предоставляются лояльные стартовые условия в виде тарифного плана «Реальный» (**2.9%**) сроком на 3 календарных месяца.

Промокод: **01spirin**
{% endhint %}

{% hint style="danger" %}
**Robokassa не работает с физическими лицами**.
{% endhint %}

* [Как настроить Robokassa](#kak-nastroit-robokassa)
* [Как настроить Salebot ](#kak-nastroit-salebot)
* [Кнопка с функцией Оплата](#knopka-s-funkciei-oplata)
* [Функция `get_robokassa_payment_url` в Калькуляторе](#funkciya-get_robokassa_payment_url-v-kalkulyatore)
* [Создание ссылки с помощью переменной payment\_sum](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov)
* [Как сформировать чеки ](#cheki)
* [Какие могут быть ошибки ](#vozmozhnye-oshibki)
* [Как проводить автоматические платежи сервиса Robokassa ](#kak-provodit-avtomaticheskie-platezhi-servisa-robokassa)
* [Какие требования сервиса Robokassa к чат-ботам](#kakie-trebovaniya-servisa-robokassa-k-chat-botam)

## Как настроить Robokassa

Рассмотрим как реализовать прием оплат в боте через сервис Robokassa.

1. Создайте интернет-магазин в личном кабинете сервиса Robokassa и укажите данные технические настройки:

\- Алгоритм расчета хеша: MD5\
\- Result Url: <https://chatter.salebot.pro/robokassa\\_callback/result\\>
\- Метод отсылки данных по Result Url: GET\
\- Success Url: <https://chatter.salebot.pro/robokassa\\_callback/success\\>
\- Метод отсылки данных по Success Url: GET\
\- Fail Url: <https://chatter.salebot.pro/robokassa\\_callback/fail\\>
\- Метод отсылки данных по Fail Url: GET (Рисунок 1)

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fxhc31pXpE2z9q1sFKBUf%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202026-01-22%20%D0%B2%2017.20.59.png?alt=media&#x26;token=449af5e4-14e9-4b60-8e4f-798a51b1eb9f" alt=""><figcaption></figcaption></figure>

<p align="center">рис. 1</p>

{% hint style="warning" %}
Создайте тестовые пароли и первоначальную настройку проводите в тестовом режиме.
{% endhint %}

## Как настроить Salebot

Зайдите в раздел "Эквайринг":&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F7qKu1w66f53tBKIa5u3K%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2009.37.06.png?alt=media&#x26;token=3fa5aa6c-4b86-4213-b58f-d9041b5f2473" alt="" width="297"><figcaption><p>Рис. 2</p></figcaption></figure>

&#x20;Найдите кнопку Robokassa для подключения сервиса:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FwCzmOkyMP06vRIqy3Puy%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2009.38.04.png?alt=media&#x26;token=f50a32bc-ee66-4192-a1a7-0b73aa0224e8" alt=""><figcaption><p>Рис. 3</p></figcaption></figure>

и заполните форму в открывшейся форме:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FFVXLP7rpyI5zlPTxZ3TL%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2009.39.18.png?alt=media&#x26;token=5f243cf3-e825-4135-9e6c-25a0ea1f21a1" alt=""><figcaption><p>Рис. 4</p></figcaption></figure>

1. **Поле Идентификатор магазина —** Shop ID, который вы можете найти в настройках магазина в личном кабинете робокассы.
2. Пароли #1, пароль #2 — уникальные сгенерированные последовательности цифр+букв (см. рис. 1).&#x20;
3. **поле Ставка НДС.** Необходимо указать подходящий код для передачи значения НДС. Например, &#x20;

`none` - если без НДС  или&#x20;

`vat0`  -  если ставка НДС 0% .

Доступные варианты ставки НДС:

* none — без НДС
* vat0 — 0%
* vat10 — 10%
* vat20 — 20%
* vat110 — 10/110
* vat120 — 20/120
* vat5 – 8 – НДС по ставке 5%
* vat7  – 9 – НДС по ставке 7%
* vat105  – 10 – НДС чека по расчетной ставке 5/105
* vat107  – 11 – НДС чека по расчетной ставке 7/107

4. **поле Система налогообложения.** Можно выбрать систему налогообложения, которая будет передана в чеке. Необязательное поле, если у организации имеется только один тип налогообложения. (Данный параметр обязательно задается в личном кабинете магазина)

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fgadv6UHdHDydsK3MVBXk%2Fimage.png?alt=media&#x26;token=005370e4-7b05-46ec-a8d6-ef61b399f3bd" alt="" width="563"><figcaption><p>Рис. 5. Выбор системы налогообложения для формирования чека об оплате</p></figcaption></figure>

На этом подключение закончено. Теперь давайте разберемся как использовать данный функционал.

5. **поле Доменная зона.** Доступные значения ru и kz. Ссылка будет иметь вид robokassa.ru или robokassa.kz

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FSfsAvNri28dWGmsQprqs%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2009.45.25.png?alt=media&#x26;token=1036d238-673f-4f7c-a8c4-79dd2e4a9c6a" alt="" width="563"><figcaption><p>Рис. 6. Выбор доменной зоны</p></figcaption></figure>

## Как сформировать ссылку на оплату

{% hint style="success" %}
Сформировать ссылку на оплату в блоке можно **ОДНИМ ИЗ** из доступных способов:

* [Кнопка с функцией Оплата ](#knopka-s-funkciei-oplata)или
* [Функция get\_robokassa\_payment\_url в Калькуляторе](#funkciya-get_robokassa_payment_url-v-kalkulyatore) или
* [Создание ссылки с помощью переменной payment\_sum  и дополнительных параметров](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov) (устаревшая работающая версия)
  {% endhint %}

## Кнопка с функцией Оплата

Ссылку на оплату можно создавать в кнопке с функцией "Оплата". О том как создавать такую кнопку  рассказано в этой статье:&#x20;

{% embed url="<https://docs.salebot.pro/osnovnye-ponyatiya.-kak-sozdavat-botov-na-salebot.pro/knopki#kak-sdelat-knopku-oplata>" %}
Статья про кнопку с функцией Оплата
{% endembed %}

Рассмотрим все возможные параметры данной кнопки. О том как создавать кнопку с функцией Оплата  рассказано в этой статье:

### **Обязательные параметры кнопки Оплата для сервиса Robokassa**

Для формирования ссылки на оплату в настройках кнопки  необходимо указать  <mark style="color:green;">**обязательные параметры: Сумма  и Наименование товара.**</mark>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FKAdJurL8LutPh4OfYvxp%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2009.47.40.png?alt=media&#x26;token=9030ec19-cc78-41da-b449-c244d0885c38" alt=""><figcaption><p>Рис. 7. Форма настройки кнопки оплаты в блоке чат-бота</p></figcaption></figure>

**поле Сумма.**  В этом поле указываем стоимость товара в рублях

**поле Наименование товара.**  В этом поле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Максимальная длина — 100 символов. Эта информация отображается в интерфейсе Robokassa и в Электронной квитанции, которую получает клиент после успешного платежа.&#x20;

{% hint style="danger" %}
**НЕЛЬЗЯ** использовать **двойные кавычки** в наименовании товара: удалите или замените на одинарные кавычки.&#x20;
{% endhint %}

**чекбокс Автоплатеж.** Для подключения автоплатежа&#x20;

**чекбокс С уведомление о клике.** Для отслеживания перехода по ссылке для оплаты можно поставить галочку. В таком случае, при клике по кнопке в диалог с клиентом в Сейлбот придет уведомление о том, что был совершен переход по ссылке

На данное уведомление можно настраивать дальнейшую логику работы бота.

{% hint style="info" %}
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.\
Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.
{% endhint %}

### **Для формирования чека**

**меню Данные для формирования чека.** При клике откроется выпадающее меню с параметрами для формирования чека:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FbW4T818ACkYwt4cbIjZm%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2013.54.49.png?alt=media&#x26;token=a1ff4cb1-c530-4a2c-9ab6-508141749417" alt="" width="563"><figcaption><p>Рис. 8. меню "Данные для формирования чека" </p></figcaption></figure>

**поле Название товара**. <mark style="color:red;">**Обязательное для формирования чека.**</mark>&#x20;

{% hint style="danger" %}
**НЕЛЬЗЯ** использовать **двойные кавычки** в Названии товара: удалите или замените на одинарные кавычки.&#x20;
{% endhint %}

**поле Полная сумма в рублях.** В данном поле необходимо указать сумму к оплате с учетом  количества товаров. Если количество равно 1, то Полная сумма в рублях равна значению в поле Сумма в обязательном поле настройки кнопки

**поле Количество.** Количество или вес товара. Передать можно целое или дробное число через точку. Пример, 5 или 10.3

### Переменные клиента, которые будут созданы автоматически при использовании кнопки с функцией Оплата

Как только пользователь получит блок с кнопкой "Оплата" автоматически будут созданы переменные клиента:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FIiilRxPUB2SZtBV1PcKN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2010.00.38.png?alt=media&#x26;token=6f5d81f4-1f13-4b1c-8532-37389fcfe2ef" alt="" width="563"><figcaption><p>Рис. 9. переменная payments</p></figcaption></figure>

Служебная переменная клиента **`__payments`** , которая хранит сумму, идентификатор созданной ссылки, нужна для идентификации хука от платежной системы.

{% hint style="danger" %}
Служебную переменную клиента \_\_payments НЕЛЬЗЯ удалять или изменять!
{% endhint %}

Переменная клиента **`error_payment_button`** создается, если при формировании кнопки возникла ошибка.

В значение переменной error\_payment\_button запишется либо текст ошибки, либо ответ платежной системы с ошибкой.

{% hint style="warning" %}
Значение переменных становятся актуальными при переходе в следующий блок&#x20;
{% endhint %}

### Как обработать результат

{% hint style="warning" %}
Обращаем внимание!

Robokassa отсылает уведомление только по успешным транзакциям по параметру Result URL. <mark style="color:red;">**Коллбэков о неуспешных платежах в сервисе Robokassa нет.**</mark>&#x20;

Fail URL - это только страница неуспешной оплаты, куда будет переадресован плательщик в случае возникновения кодовой ошибки на платежной странице.&#x20;
{% endhint %}

**Успешный платеж.**

После того, как вы верно настроите оплату и сформируете ссылку для проведения платежа, протестируйте созданные настройки. Если оплата пройдет успешно, то в диалог клиента (раздел "Клиенты") <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_success и через пробел сумма платежа. **Коллбэк генерируется автоматически**, его не надо составлять самим или запрашивать в поддержке платежной системы,

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FVqYUOejz0u4C5mIY04jB%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.23.05.png?alt=media&#x26;token=a26fe61a-501d-4722-be8b-bfda6b4a291b" alt="" width="563"><figcaption><p>Рис. 10. Блок "Стартовое условие" с кнопкой оплаты</p></figcaption></figure>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FJ2iW019yPj8vQqfJS3a1%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2010.13.09.png?alt=media&#x26;token=d08b779f-c911-4dc6-8794-dd4a6b437f53" alt=""><figcaption><p>Рис. 11. Настройка кнопки</p></figcaption></figure>

Например: `ovg58keefc_success 2999`, где:&#x20;

ovg58keefc : 10 символов секретного ключа платежной системы

\_success : результат обработки запроса (успешный платеж)

2999 : сумма платежа

Отработка блока:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FyCGwM0TbHHxi5y8N0hio%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.25.37.png?alt=media&#x26;token=d591cb67-4cdd-4290-8ef4-ee0e131b3435" alt=""><figcaption><p>Рис. 12. Диалог с клиентом</p></figcaption></figure>

Колбек:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FwhAmmT1aDKafxZQZx4bN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2013.51.55.png?alt=media&#x26;token=68b72a41-d488-4762-a148-57329d927561" alt="" width="563"><figcaption><p>Рис. 13. Колбек</p></figcaption></figure>

{% hint style="info" %}
Коллбэки (уведомления) от платежной системы пользователь НЕ ВИДИТ. Они отображаются только во вкладке "Клиенты" и видны оператору/администратору.
{% endhint %}

### Пример настройки реакции на коллбэк

В  блоке с условием (это может быть как блок "Стартовое условие", так и блок "Не состояние с условием") необходимо указать коллбэк, который приходит при оплате.&#x20;

{% hint style="warning" %}
Важно: выбор соответствия Полное совпадение  или По наличию ключевых слов
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FCVay7KsoR8kvx9vXeF20%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2010.34.53.png?alt=media&#x26;token=80bc620e-92a8-4bf5-9afe-f2ad68ec0dda" alt=""><figcaption><p>Рис. 14. Реакция на колбек с помощью блока "Стартовое условие"</p></figcaption></figure>

Далее при оплате клиенту будет приходить сообщение из блока, в котором настроена реакция на коллбэк:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FyCGwM0TbHHxi5y8N0hio%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.25.37.png?alt=media&#x26;token=d591cb67-4cdd-4290-8ef4-ee0e131b3435" alt=""><figcaption><p>Рис. 15. Диалог с клиентом</p></figcaption></figure>

**Платеж с ошибкой**

Если сумма указанная в настройках кнопки <mark style="color:blue;">**отличается от суммы, которую клиент оплатил**</mark>,  в бота <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_different\_amounts и через пробел уникальный ID платежа

Например: `ovg58keefc_different_amounts 123456` , где:&#x20;

`ovg58keefc` : 10 символов секретного ключа платежной системы

`_different_amounts` : результат обработки запроса (сумма оплаты отличается от суммы в ссылке)

`123456` : уникальный ID платежа

## Функция get\_robokassa\_payment\_url в Калькуляторе

Для формирования ссылки на оплату можно воспользоваться функцией `get_robokassa_payment_url` в Калькуляторе блоке.

В поле Калькулятор  переменной присвоим значение функции `get_robokassa_payment_url`&#x20;

{% hint style="info" %}
Название переменной задаете самостоятельно.  На скринах примеры названия переменных.&#x20;
{% endhint %}

В эту переменную запишется ссылка на оплату. Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом "Оплатить".&#x20;

**ПРИМЕР ссылки на оплату:**: `https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda`

{% hint style="info" %}
Многие платежные системы поддерживают облачные онлайн-кассы, они необходимы по 54-ФЗ.\
Прочитайте особенности оформления чеков на сайте выбранной платежной системы, чтобы не попасть в неловкую ситуацию с налоговой инспекцией.
{% endhint %}

{% tabs %}
{% tab title="Калькулятор" %}
Пример 1:&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fys08IQSwpmDEmS8l2PcM%2F2023-03-27_17-23-38.png?alt=media&#x26;token=e7e39edc-f381-4ee5-90bc-8f030049086b" alt=""><figcaption><p>Рис. 16. Пример формирования ссылки: переданы только обязательные параметры</p></figcaption></figure>
{% endtab %}

{% tab title="Описание параметров" %}
`get_robokassa_payment_url(amount, description, products_for_receipt, taxation, recurrent, country, currency)`

#### Параметры функции:

<table><thead><tr><th width="190">Параметр</th><th>Значение параметра</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td><p><mark style="background-color:blue;">Сумма к оплате.</mark>  В этом поле указываем стоимость товара в рублях. </p><p><strong>(Обязательный параметр)</strong></p></td></tr><tr><td><strong><code>description</code></strong></td><td><mark style="background-color:blue;">Наименование товара.</mark>  В этом поле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Максимальная длина — 100 символов. Эта информация отображается в интерфейсе Robokassa и в Электронной квитанции, которую получает клиент после успешного платежа. <br><strong>(Обязательный параметр)</strong></td></tr><tr><td><p><strong><code>products_for_</code></strong></p><p><strong><code>receipt</code></strong></p></td><td><p><mark style="background-color:blue;">Параметры для формирования чеков.</mark> </p><p>Подробнее читайте <a href="#dlya-funkcii-get_robokassa_payment_url-i-robokassa_recurrent_payment">здесь.</a> </p></td></tr><tr><td><code>taxation</code></td><td><p><mark style="background-color:blue;">Система налогообложения.</mark>  </p><p>Подробнее читайте <a href="#dlya-funkcii-get_robokassa_payment_url-i-robokassa_recurrent_payment">здесь.</a> </p></td></tr><tr><td><strong><code>recurrent</code></strong></td><td><mark style="background-color:blue;">Подключение автоплатежа.</mark> Если автоплатеж включен, то передать значение 1, если отключен передайте значение None</td></tr><tr><td><strong><code>country</code></strong></td><td><mark style="background-color:blue;">Доменная зона.</mark> Если пропустить значение или передать значение None, то по умолчанию доменная зона будет .ru Ссылка будет иметь вид robokassa.ru. <br>Для Казахстана можно передать значение 'kz' . В этом случае ссылка будет иметь вид robokassa.kz</td></tr><tr><td><strong><code>currency</code></strong></td><td><p><mark style="background-color:blue;">Трехбуквенный код валюты.</mark></p><p>Необходимо передавать значение строго по параметрам, принимаемым сервисом Robokassa.<br>USD - доллар;<br>RUB - рубль;<br>EUR - евро;<br>KZT - тенге.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Пример кода для копирования" %} <mark style="color:green;">Пример 1: Ссылка на оплату без чека</mark>\
\
`res = get_robokassa_payment_url(100, 'Купи меня')`

<mark style="color:green;">Пример 2: Ссылка на оплату с чеком</mark>\
\
`receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]`

`res = get_robokassa_payment_url(100, 'Купи меня', receipt, '3', 1, 1)`
{% endtab %}
{% endtabs %}

{% hint style="info" %}
Переменную можно вывести на экран ссылкой в сообщении или разместить в кнопке с текстом, например, "Купить".&#x20;
{% endhint %}

{% hint style="warning" %}
Если в блоке несколько функций для получения ссылки и допущена ошибка, то значение ошибки будет записано в переменной  **`error_payment_func`**

\
Ошибка запишется по последней функции в Калькуляторе
{% endhint %}

После того, как вы верно настроите оплату и сформируете ссылку для проведения платежа, протестируйте созданные настройки.&#x20;

## Как добавить описание платежа

Вы можете добавить описание к платежу, установив переменную **payment\_description**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F6RkwHQ6trXvpcCCy86KR%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2011.35.24.png?alt=media&#x26;token=56a3770e-1cac-45a6-ac44-2c50952323bc" alt="" width="563"><figcaption></figcaption></figure>

Это описание будет отображаться в форме оплаты, а также на чеке.

### Как обработать результат

Если оплата пройдет успешно, то в диалог клиента (раздел "Клиенты") <mark style="color:orange;">**АВТОМАТИЧЕСКИ**</mark> придет КОЛЛБЭК, который состоит из 10 символов секретного ключа платежной системы, слова \_success и через пробел сумма платежа. **Коллбэк генерируется автоматически**, его не надо составлять самим или запрашивать в поддержке платежной системы,&#x20;

Например: `ovg58keefc_success 1500`, где:&#x20;

ovg58keefc : 10 символов секретного ключа платежной системы

\_success : результат обработки запроса (успешный платеж)

1500 : сумма платежа

{% hint style="success" %}
Обращаем внимание!&#x20;

Колбек виден только вам в диалоге с клиентом.&#x20;

Клиенту колбек не виден, но вы можете настроить реакцию на успешную обработку платежа.
{% endhint %}

### Пример

Настройки блока с функцией `get_robokassa_payment_url:`

1. Если выдаете ссылку в тексте:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FeEbtTEaCAYkekuCa4cdK%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2010.26.42.png?alt=media&#x26;token=db31dc3d-e1a9-4385-818e-ead887e2e41a" alt=""><figcaption><p>Рис. 17. настройка блока "Стартовое условие" с ссылкой на оплату</p></figcaption></figure>

Отработка блока:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FYEcmEnPh79tPfrREVuBm%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.15.01.png?alt=media&#x26;token=1a5e03d7-2943-4463-b769-fc06994762ae" alt="" width="563"><figcaption><p>Рис. 18. Пример ссылки на оплату, отправляемой ботом. </p></figcaption></figure>

{% hint style="warning" %}
Важно!&#x20;

Ссылка на оплату является уникальной: ее нельзя скопировать и потом направлять другим клиентам!&#x20;

Направляйте ссылку на оплату через переменную в боте (см. рис. 17).&#x20;
{% endhint %}

Коллбэк при успешной оплате:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FHzeMNmumosRKuhv9BDtJ%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.19.44.png?alt=media&#x26;token=4a889e19-22a8-42f4-a56f-a71ade20ac09" alt=""><figcaption><p>Рис. 19. Колбек об успешной оплате</p></figcaption></figure>

2. Ссылка в кнопке:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FxEk0XRZeAfxiVxzUj9V8%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.16.08.png?alt=media&#x26;token=18fb7cea-a86a-483d-b5a3-171a278028a8" alt=""><figcaption><p>Рис. 20. Кнопка с ссылкой на оплату</p></figcaption></figure>

Отработка блока:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FUnNTZq8ArZ7uQz1UNwzN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.12.26.png?alt=media&#x26;token=a95afed1-4f7d-4a5a-bb10-5e8f9035bedd" alt="" width="563"><figcaption><p>Рис. 21. Пример отправки кнопки с ссылкой на оплату</p></figcaption></figure>

Коллбэк при успешной оплате:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FdAQalPhN3yF4COa3abRa%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.12.53.png?alt=media&#x26;token=9a0d19a6-6b4a-400b-95b5-921196d6074a" alt=""><figcaption><p>Рис. 22. Колбек об успешной оплате в диалоге с клиентом</p></figcaption></figure>

## Создание ссылки с помощью переменной payment\_sum  и дополнительных параметров

Принимать оплату вы также можете генерируя ссылку с помощью переменной payment\_sum, в которой достаточно указать сумму платежа.&#x20;

{% hint style="info" %}
**Обратите внимание:** переменной **payment\_sum** присваивается значение последней, после необязательных переменных **payment\_description, product\_name** и т.д.&#x20;
{% endhint %}

Для генерации ссылки на оплату, вам необходимо установить значение переменной **payment\_sum**, сразу после этого появится переменная **robokassa\_pay\_url.** Эту переменную можно вывести на экран ссылкой или разместить на кнопке с текстом "Оплатить".&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F2cDtOd4kQLQMmovxbymH%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2010.34.11.png?alt=media&#x26;token=f92deb98-4718-44c0-ba86-43ac9f2532b4" alt=""><figcaption><p>Рис. 23.  Пример настройки блока "Стартовое условие"</p></figcaption></figure>

**ПРИМЕР отработки блоки (ссылки на оплату):**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FqDVsk31jn9NuI3moPcMc%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.07.25.png?alt=media&#x26;token=ac30b929-0313-4da8-b0fc-492dbd2af3a9" alt="" width="563"><figcaption><p>Рис. 24. Пример ссылки в боте.</p></figcaption></figure>

{% hint style="warning" %}
Важно!&#x20;

Ссылка на оплату является уникальной: ее нельзя скопировать и потом направлять другим клиентам!&#x20;

Направляйте ссылку на оплату через переменную в боте (см. рис. 23).&#x20;
{% endhint %}

Чтобы передавать ссылку в кнопке, укажите переменную в кнопке в поле url:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FJaV7RRfPhW3wjlJL7s0R%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.40.04.png?alt=media&#x26;token=7b2cd8a9-175f-43eb-aa87-0341a6b03964" alt=""><figcaption><p>Рис. 24. Пример настройки кнопки</p></figcaption></figure>

### Результат оплаты при формировании ссылки на оплату через payment\_sum

После успешной оплаты в бот придет коллбэк. Этот коллбэк в системе вы видите как сообщение от пользователя, чтобы их не мог отправить пользователь, они состоят из первого пароля от сервиса Robokassa и приписки со статусом success, например: **qxgZ7zkNX4HHnG8UpZ61\_success.**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FSaNgiDmWsOZcM9f7Jqh4%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.08.47.png?alt=media&#x26;token=fc93fab0-1d3d-4343-8b69-52c9637d5073" alt=""><figcaption><p>Рис. 25. Пример колбека об успешной оплате</p></figcaption></figure>

Также после успешной оплаты переменная **robokassa\_payment\_completed** устанавливается в **True.**

Этот коллбэк **НЕ ВИДИТ** пользователь, они отображаются только оператору

{% hint style="danger" %}
Тип сравнения должен быть "**Полное совпадение**"
{% endhint %}

{% hint style="warning" %}
Для совершения повторного платежа обязательно необходимо обнулить **payment\_sum**, ранее сформированную ссылку и уже после переназначить переменную payment\_sum для получения свежей ссылки\
\
Пример обнуления переменных: \
robokassa\_pay\_url=''\
payment\_sum=0
{% endhint %}

После завершения оплаты клиенту добавится переменная **robokassa\_callback\_data**, содержащая данные ответа платежной системы по совершенной операции. Из полученного словаря можно извлечь необходимые данные при помощи метода **get**.

## Как создать тестовую схему

Пример схемы, которая позволит протестировать и быстро начать работу с сервисом Robokassa:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FcM6mQ3VW3AtBX8CnwHCN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2011.22.42.png?alt=media&#x26;token=f9c6f14f-b1d3-46bd-b7ee-dfc367bb9a9c" alt=""><figcaption><p>Рис. 26. Настройка блока "Стартовое условие"</p></figcaption></figure>

На рисунке показан пример первого блока, в котором пользователя спрашивают, сколько он хочет оплатит&#x44C;**.**

На рисунке ниже настройки стрелки, в ней должен быть включен переключатель "Пользователь вводит данные" и в поле вписана переменная **payment\_sum:**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FeHT3UjKIygjCMXYNsaGX%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.29.17.png?alt=media&#x26;token=5512ce87-a68e-4c40-9bdf-09b7e102403a" alt=""><figcaption><p>Рис. 27. Настройки стрелки</p></figcaption></figure>

Далее в следующем блоке оплаты добавьте кнопку и установите в строку url переменную **robokassa\_pay\_url:**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FoxKLVtNHw8mtY9H9ELLp%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.32.28.png?alt=media&#x26;token=85f7ff50-ad30-465d-ac73-a1a4518bf8de" alt=""><figcaption><p>Рис. 28. Настройки блока с кнопкой оплаты</p></figcaption></figure>

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FVTBDu4FNRQjgVQ4j7F9r%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.32.58.png?alt=media&#x26;token=7c277120-b353-4ba3-b57d-a71fea3b75ea" alt=""><figcaption><p>Рис. 29. Настройка кнопки</p></figcaption></figure>

Схема отработает следующим образом:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FwZtw68FjTiP6mcgzk8Ap%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.31.05.png?alt=media&#x26;token=5d9ca548-b051-452c-8525-23d813da53ae" alt="" width="563"><figcaption><p>Рис. 30. Пример отработки блоков</p></figcaption></figure>

При клике на кнопку сумма, которую прописал клиент, будет доступна к оплате в платежной форме:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FyFZHZ54GIBj57DrH2zwI%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.31.10.png?alt=media&#x26;token=f95326a3-00c9-41c3-a52c-a90b870d9d37" alt="" width="375"><figcaption><p>Рис. 31. Форма оплаты</p></figcaption></figure>

После оплаты придет коллбэк, на который также можно настроить реакцию.&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FCzvmqOKSSSsh7W0Ps4Ts%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.42.21.png?alt=media&#x26;token=e6e5a6b9-ccff-4cf8-9a44-f07cc8bd8bd7" alt=""><figcaption><p>Рис. 32. Отправка колбека об успешной оплате</p></figcaption></figure>

{% hint style="info" %}
Важно!&#x20;

Колбека о неуспешной оплате в Robokassa не существует.
{% endhint %}

Для этого добавьте еще один блок с условием, а в строке с условием пропишите коллбэк вида "**qxgZ7zkNX4HHnG8UpZ61\_success":**

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FnJ4jJoVsD7dJekSV4Zn2%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.43.12.png?alt=media&#x26;token=bd486b58-946a-44b4-8f86-f1f7c73bf177" alt=""><figcaption><p>Рис. 33. Пример настройки блока "Не состояние с условием" для реакции на успешную оплату</p></figcaption></figure>

{% hint style="info" %}
Тип проверки обязательно поставьте "Полное совпадение"
{% endhint %}

Схема будет отрабатывать следующим образом:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FQSWBYF9tBevtQFzo8Mpw%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.41.40.png?alt=media&#x26;token=7a73c244-5506-4c1e-9cb0-f8f24017942c" alt=""><figcaption><p>Рис. 34. Как работает схема</p></figcaption></figure>

### Видеоурок

{% embed url="<https://youtu.be/0a9okvlsido>" %}

## Как сформировать запрос на фискализацию

### В кнопке с функцией “Оплата”

При создании кнопки в выпадающем меню “Данные для формирования чека”, заполните поля “Название товара”, “Полная сумма в рублях”, “Количество”, “Ставка НДС”, “Система налогообложения”.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fu8SFbvDHzZGRFEKyHy39%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2011.43.57.png?alt=media&#x26;token=f69d60ed-c2de-4e80-acf8-a37bc06e4f8a" alt="" width="563"><figcaption><p>Рис. 35. Данные для формирования чека</p></figcaption></figure>

Подробнее в разделе "[Для формирования чека](#dlya-formirovaniya-cheka)".

### С помощью переменной payment\_sum

Так как генерация ссылки производится в момент, когда вы установили значение переменной payment\_sum, вам необходимо задать переменные products\_for\_receipt и robokassa\_sno.

{% hint style="warning" %}
Важно:&#x20;

* при формировании ссылки через переменную payment\_sum, система налогообложения задаётся в переменной robokassa\_sno.
* payment\_sum должна быть равна общей стоимости всех товаров (сумма всех параметров sum).
  {% endhint %}

Пример:

session\_timeout = 7200

product\_name = Первый платеж

robokassa\_sno = osn

products\_for\_receipt = \[{"name": "Наименование товара", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Наименование товара 2", "quantity": 1, "sum": 6, "tax": "none"}]

payment\_sum = 10

### Для функций get\_robokassa\_payment\_url и robokassa\_recurrent\_payment

При вызове функций **get\_robokassa\_payment\_url** или функции **robokassa\_recurrent\_payment** передайте в качестве аргументов переменные **taxation** и **products\_for\_receipt** согласно описанию ниж&#x435;**.**

Функции подготовят ссылку с учётом товарной номенклатуры и сформируют запрос на фискализацию.

{% hint style="warning" %}
Важно:

Переменные **taxation** и **products\_for\_receipt** должны задаваться для каждого отдельного платежа.

Сервис Robokassa не хранит данные параметры и не сможет провести фискализацию платежей, для которых не была передана номенклатура.
{% endhint %}

1. **products\_for\_receipt** - массив, содержащий товарную номенклатуру.&#x20;

Каждая единица товара должна быть представлена в виде словаря, содержащего параметры **name, quantity, sum, tax, payment\_method, payment\_object и nomenclature\_code**.

\
&#x20;<mark style="color:red;">**!**</mark>**&#x20;products\_for\_receipt** нужно указать в следующем формате:

\[

{"name": "Наименование товара", "quantity": "Количество товара", "sum": "Стоимость товара", "tax": "Ставка НДС"},

{"name": "Наименование товара 2", "quantity": "Количество товара 2", "sum": "Стоимость товара", "tax": "Ставка НДС"}

]

где,&#x20;

1\) **name** - наименование товара. Если в наименовании товара вы используете специальные символы, например кавычки, то их обязательно необходимо экранировать.

2\) **quantity** - количество или вес товара (целое или дробное число через точку)

3\) **sum** или **amount** (*обязательный, два варианта имени*) - полная сумма в рублях за все количество данного товара с учетом всех возможных скидок, бонусов и специальных цен.

4\) **tax** или **vat\_code** - (обязательный, два варианта имени, значение зависит от имени) - ставка НДС. Этот параметр устанавливает налоговую ставку в ККТ.

{% tabs %}
{% tab title="Значения для tax:   " %}

<table data-full-width="true"><thead><tr><th width="272"> Значение</th><th>Описание</th></tr></thead><tbody><tr><td>none</td><td>без НДС</td></tr><tr><td>vat0</td><td>0%</td></tr><tr><td>vat10</td><td>10%</td></tr><tr><td>vat20 </td><td>20%</td></tr><tr><td>vat110</td><td>10/110</td></tr><tr><td>vat120</td><td>20/120</td></tr><tr><td>vat5 </td><td>5%</td></tr><tr><td>vat7 </td><td>7%</td></tr><tr><td>vat105</td><td>5/105</td></tr><tr><td>vat107 </td><td>7/107</td></tr></tbody></table>
{% endtab %}

{% tab title="Значение для vat\_code:" %}

<table><thead><tr><th width="209">Значения</th><th> Описание</th></tr></thead><tbody><tr><td>'1' </td><td>Без НДС</td></tr><tr><td>'2' </td><td>НДС по ставке 0%</td></tr><tr><td>'3'</td><td> НДС по ставке 10%</td></tr><tr><td>'4'</td><td> НДС чека по ставке 20%</td></tr><tr><td>'5' </td><td>НДС чека по расчетной ставке 10/110</td></tr><tr><td>'6' </td><td>НДС чека по расчетной ставке 20/120</td></tr><tr><td>'8'</td><td>НДС по ставке 5%</td></tr><tr><td>'9'</td><td>НДС по ставке 7%</td></tr><tr><td>'10' </td><td>НДС чека по расчетной ставке 5/105</td></tr><tr><td>'11'</td><td> НДС чека по расчетной ставке 7/107</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

5\) **method** или **payment\_method** - (два варианта имени, необязательный параметр) признак способа расчёта.&#x20;

<table><thead><tr><th width="345" align="center">Возможные значения параметра:</th><th>Что подразумевает значение: </th></tr></thead><tbody><tr><td align="center">full_prepayment</td><td>предоплата 100%. Полная предварительная оплата до момента передачи предмета расчёта</td></tr><tr><td align="center">prepayment</td><td>предоплата. Частичная предварительная оплата до момента передачи предмета расчёта</td></tr><tr><td align="center">advance</td><td>аванс</td></tr><tr><td align="center">full_payment </td><td>полный расчёт. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчёта;</td></tr><tr><td align="center">partial_payment </td><td>частичный расчёт и кредит. Частичная оплата предмета расчёта в момент его передачи с последующей оплатой в кредит;</td></tr><tr><td align="center">credit </td><td>передача в кредит. Передача предмета расчёта без его оплаты в момент его передачи с последующей оплатой в кредит;</td></tr><tr><td align="center">credit_payment</td><td>оплата кредита. Оплата предмета расчёта после его передачи с оплатой в кредит (оплата кредита).</td></tr></tbody></table>

6\) **object** или **payment\_object** - (два варианта имени, необязательный параметр) предмет расчета (если не передать, будет commodity (товар))

<table><thead><tr><th width="328" align="center">Возможные значения параметра</th><th>Что подразумевает значение</th></tr></thead><tbody><tr><td align="center"><strong>commodity</strong></td><td>Товар. О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар)</td></tr><tr><td align="center"><strong>excise</strong> </td><td>Подакцизный товар. О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар)</td></tr><tr><td align="center"><strong>job</strong></td><td>Работа. О выполняемой работе (наименование и иные сведения, описывающие работу)</td></tr><tr><td align="center"><strong>service</strong></td><td>Услуга. Об оказываемой услуге (наименование и иные сведения, описывающие услугу)</td></tr><tr><td align="center"><strong>gambling_bet</strong></td><td>Ставка азартной игры. О приеме ставок при осуществлении деятельности по проведению азартных игр</td></tr><tr><td align="center"><strong>gambling_prize</strong></td><td>выигрыш азартной игры. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр</td></tr><tr><td align="center"><strong>lottery</strong></td><td>лотерейный билет. О приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей</td></tr><tr><td align="center"><strong>lottery_prize</strong></td><td>выигрыш лотереи. О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей</td></tr><tr><td align="center"><strong>intellectual_activity</strong> </td><td>предоставление результатов интеллектуальной деятельности. О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации</td></tr><tr><td align="center"><strong>payment</strong></td><td>платеж. Об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета</td></tr><tr><td align="center"><strong>agent_commission</strong> </td><td>агентское вознаграждение. О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом;</td></tr><tr><td align="center"><strong>composite</strong></td><td>составной предмет расчета. О предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение выше перечисленных признаков</td></tr><tr><td align="center"><strong>another</strong></td><td>иной предмет расчета. О предмете расчета, не относящемуся к выше перечисленным предметам расчета</td></tr><tr><td align="center"><strong>property_right</strong></td><td>имущественное право</td></tr><tr><td align="center"><strong>non-operating_gain</strong></td><td>внереализационный доход</td></tr><tr><td align="center"><strong>insurance_premium</strong></td><td>страховые взносы</td></tr><tr><td align="center"><strong>sales_tax</strong></td><td>торговый сбор</td></tr><tr><td align="center"><strong>resort_fee</strong></td><td>курортный сбор</td></tr></tbody></table>

7\) **nomenclature\_code** - (условно обязательный) маркировка товара: передаётся в том виде, как она напечатана на упаковке товара.&#x20;

{% hint style="warning" %}
Параметр является обязательным только для тех магазинов, которые продают товары, подлежащие обязательной маркировке.&#x20;

Код маркировки расположен на упаковке товара, рядом со штрих-кодом или в виде QR-кода.
{% endhint %}

2. **taxation** — система налогообложения, которую использует магазин. Необязательное поле, если у организации имеется только один тип налогообложения. Может принимать строковые и численные значения:&#x20;

| Строковые значения                                               | Численные значения                            |
| ---------------------------------------------------------------- | --------------------------------------------- |
| **osn** – общая СН                                               | '1' - Общая система налогообложения           |
| **usn\_income** – упрощенная СН (доходы);                        | '2' - Упрощенная (УСН, доходы)                |
| **usn\_income\_outcome** – упрощенная СН (доходы минус расходы); | '3' - Упрощенная (УСН, доходы минус расходы)  |
| **esn** – единый сельскохозяйственный налог;                     | '5' - Единый сельскохозяйственный налог (ЕСН) |
| **patent** – патентная СН.                                       | '6' - Патентная система налогообложения       |

{% hint style="warning" %}
Важно! Для фискализации важно передать параметры чека.&#x20;

Верный формат чека передается таким образом:

rec = \[{"name": "Пакет 1 месяц", "quantity": 1, "sum": 4800, "tax": "none"}]

response = robokassa\_recurrent\_payment(4800, 'Обучение в Лётной школе Авиатор', 'ru', rec, 'osn')

где необходимо подставить свои данные.&#x20;
{% endhint %}

## Формирование чека при приеме оплаты в Курсах на странице курса

Нужно выбрать в разделе "Оплата" в настройках курса платежную систему Robokassa:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FDLAQ8K3D4vKKgF6HrqyH%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2011.51.02.png?alt=media&#x26;token=69ad2331-c8ca-48ed-b6d8-54be43455461" alt=""><figcaption><p>Рис. 36. Выбор платежной системы в разделе "Оплата" в настройках курса</p></figcaption></figure>

Заполните в разделе "Эквайринг" в настройках платежной системы (если не сделали это ранее) поля "Ставка НДС" и "Система налогообложения":

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FU1P8E3xVXRbn4ZNbMoiB%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2012.01.03.png?alt=media&#x26;token=4bd1c28f-945a-4864-a3a4-fe1d255b7462" alt=""><figcaption></figcaption></figure>

## Какие могут быть ошибки

#### Код ошибки 40

«Повторная оплата счета с тем же номером невозможна».

После успешного платежа необходимо перевести диалог в блок "Конец сбора данных", чтобы сформировался новый номер платежа.

#### Код ошибки 34

«Услуга рекуррентных платежей не разрешена магазину».

#### Код ошибки 31

«Неверная сумма платежа».

Такая ошибка может возникнуть при переадресации клиента на платежную страницу для выставления счета. Она означает, что вы не передаете нам сумму, на которую необходимо провести платеж, либо передаете сумму, равную нулю.

#### Код ошибки 29

«Неверный параметрSignature»

Здесь причин может быть несколько, но все они связаны со скриптом, отвечающим за инициализацию оплаты (а конкретнее, его часть, которая формирует параметрSignatureпо формуле, состоящей из переменных). Эта ошибка встречается довольно часто, и вот 3 возможных причины:

* **Первая:** некорректный Идентификатор магазина (MerchantLogin);
* **Вторая:** неверный Пароль 1 (MerchantPass1);
* **Третья:** вы используете дополнительные параметры (sh&#x70;**\_**), которые добавлены в программный код кассы, но не занесены в формулу подсчета - или наоборот, в формуле подсчета они указаны, а в коде нет. Если таковые используются, передавайте их в алфавитном порядке – как в параметрах на оплату, так и в формуле подсчета Signature.

Важный момент! Если вы работаете в тестовом режиме, передавая параметр IsTest=1 или включая его галочкой в настройках модуля/бота, используйте только тестовую пару технических паролей (закладка «Технические настройки» карточки вашего магазина).

#### Код ошибки 23

«Тестовый платёж не может быть создан. У магазина отсутствуют настройки тестовых параметров».

Это значит, что перед проведением тестового платежа вы не заполнили все необходимые данные в блоке «Параметры проведения тестовых платежей» закладки «Технические настройки».

#### Код ошибки 25

«Магазин не активирован».

Эта ошибка встречается нередко, и здесь могут быть 2 причины.

* **Первая:** это действительно так – и необходимо активировать магазин, а лишь потом выставлять счет.
* **Вторая:** вы неверно указали Идентификатор магазина в технических настройках на сайте. Посмотреть правильный можно в разделе «Мои магазины» Личного кабинета. Перейдите в закладку «Технические настройки» и найдите поле «Идентификатор магазина». Скопируйте идентификатор и введите его в настройках сайта.

## **Как проводить автоматические платежи сервиса Robokassa**

Пошаговая инструкция подключения автоплатежей для сервиса **Robokassa**

**Шаг 1. Включить автоплатежи в кнопке оплаты**

Перейдите в настройки блока, в котором даете ссылку на оплату и перейдите в настройки кнопки:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FAfqIsByyDDa9Ra3i1mNc%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2015.00.50.png?alt=media&#x26;token=7fad190d-77e4-4188-8ed5-655a360684c8" alt=""><figcaption></figcaption></figure>

Далее в настройках кнопки найдите чекбокс "Автоплатежи" и активируйте его:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FDM61x0CViC4Mb7cFNTk4%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-04-01%20%D0%B2%2014.59.36.png?alt=media&#x26;token=8f618c0c-d5ea-447c-8929-cde45598d191" alt="" width="563"><figcaption></figcaption></figure>

Если вы хотите принимать автоплатежи во всех кнопках на оплату, то включить автоплатежи можно в настройках подключения платежной системы:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FHbLuBbgvwHrUxgH89HTN%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-06-30%20%D0%B2%2012.03.51.png?alt=media&#x26;token=86176fdb-5c8e-473f-a452-7506f2e1956d" alt=""><figcaption></figcaption></figure>

**Шаг 2. Провести обычный платёж.**\
\
Далее нужно провести обычный платеж (получить ссылку на оплату и чтоб клиент ее оплатил), как описано выше. После успешного платежа у клиента появится переменная **robokassa\_previous\_invoice\_id** с идентификатором платежа.

{% hint style="warning" %}
Переменная **robokassa\_previous\_invoice\_id** обязательна для последующих платежей.\
\
Если ее удалить, следующий автоплатеж провести НЕ получится.
{% endhint %}

{% hint style="danger" %}
Обращаем внимание!&#x20;

<mark style="color:red;">**Отключите**</mark> чекбокс "**Платежи в тестовом режиме**" (если он у вас активный), иначе переменная robokassa\_previous\_invoice\_id с идентификатором платежа не будет сформирована!&#x20;

![](https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F6OI36u2pDK3DEc4VQEsT%2Fimage.png?alt=media\&token=e6108929-dc3c-498a-948d-12cb203bdef8)
{% endhint %}

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FRFoODMbZ3xzFzWf7W6dC%2F2023-02-17_14-18-03.png?alt=media&#x26;token=569532c9-14f6-4000-85b0-4275e10d3190" alt=""><figcaption><p>Пример формирования ссылки для обычного платежа</p></figcaption></figure>

![](https://lh4.googleusercontent.com/FGVcl0wzMK3_ldq7OxHe3653Q3buEgR29657HixPQ6xUrqoa2E2TpG3yCRdF5oDgj69VhnQRlZJZG_wjnnwQyIjkHRTQ8nr-Jzwyo99CtaiOT5JUuiMLuE2Jm3MDTBxKXJoD02gr=s0)

**Шаг 3. Планируем автосписание**

От блока Успешная оплата планируем стрелку с таймером к блоку с автоплатежом. Для примера запланируем следующий платеж через 30 дней.&#x20;

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FjEbtJFwp3WtWbQ2RldtG%2F2023-02-17_14-15-51.png?alt=media&#x26;token=7025ae0c-cde5-4da4-83dc-4041b3a65612" alt=""><figcaption></figcaption></figure>

Чтобы прошёл автоплатеж в нужном блоке в поле Калькулятор, нужно добавить вызов функции **robokassa\_recurrent\_payment**, передав в неё параметры в указанном порядке:&#x20;

1. **payment\_amount** - сумма к оплате (стоимость товара в рублях)
2. **description** - наименование товара. В этом поле можно использовать только символы английского или русского алфавита, цифры и знаки препинания. Максимальная длина — 100 символов. Эта информация отображается в интерфейсе Robokassa и в Электронной квитанции, которую получает клиент после успешного платежа.&#x20;
3. **country** - доменная зона (‘ru’ или ‘kz’)
4. **products\_for\_receipt** - параметры для формирования чеков.

{% hint style="info" %}
Подробнее в разделе "Как сформировать запрос на фискализацию -> [Для функций get\_robokassa\_payment\_url и robokassa\_recurrent\_payment](#dlya-funkcii-get_robokassa_payment_url-i-robokassa_recurrent_payment)
{% endhint %}

5. **taxation** - система налогообложения.&#x20;

{% hint style="info" %}
Подробнее в разделе "Как сформировать запрос на фискализацию -> [Для функций get\_robokassa\_payment\_url и robokassa\_recurrent\_payment](#dlya-funkcii-get_robokassa_payment_url-i-robokassa_recurrent_payment)
{% endhint %}

Пример запроса на автоплатеж:

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FHlvbZmNL7vyb8n9vLlBI%2F2024-02-06_18-41-50.png?alt=media&#x26;token=f497c445-1a9e-4bcc-9581-738dafc27dd9" alt="" width="533"><figcaption></figcaption></figure>

{% hint style="warning" %}
При выполнении автоплатежа не должно быть ссылки на оплату робокассы и переменной **payment\_sum**!
{% endhint %}

*<mark style="color:blue;">Шаг 4. Планируем регулярные списания и настраиваем возможность отказаться от автоплатежей.</mark>*\
\
Для регулярного повтора платежей планируем  петлю - стрелку с задержкой, например, 30 дней.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2Fx9bUiZGDvNCV9I9xJiOU%2F2023-02-17_14-12-50.png?alt=media&#x26;token=5bf5fbb5-053a-475a-a201-d1f9f3f1aec2" alt=""><figcaption><p>Петля - повторный переход в блок Автоплатёж</p></figcaption></figure>

Если у вас предусмотрена возможность отмены автоплатежей, то для того, чтобы следующий платеж не был выполнен необходимо удалить у клиента  переменную `robokassa_previous_invoice_id`\
\
Для этого в поле Калькулятор удаляем переменную:\
\
`robokassa_previous_invoice_id = ""`

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F5J7ozfGu0rMAQJgu1dp4%2F2023-02-17_13-18-23.png?alt=media&#x26;token=73ec3891-2f84-42f5-8373-670a1b1efa17" alt=""><figcaption></figcaption></figure>

### Обычный платеж при включенных автоплатежах

Если включены автоплатежи, но нужна ссылка без подписки (без автоплатежей), то до формирования ссылки нужно задать переменную robokassa\_manual\_recurrent\_disable со значением 1\
\
В поле Калькулятор объявим переменную:\
`robokassa_manual_recurrent_disable = 1`

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2FXAYWScePnwjRuaYXtMC9%2F2023-02-17_14-26-46.png?alt=media&#x26;token=5230c53c-fe0d-4419-931a-46325ea3415c" alt=""><figcaption><p>Настройки блока для формирования ссылки на обычный платеж при включенных Автоплатежах</p></figcaption></figure>

{% hint style="info" %}
Внимание!&#x20;

Коллбэк при автоплатежах идентичен коллбэку, который приходит при успешных оплатах.&#x20;

Как настроить реакцию на коллбэк, рассказали в разделе "[Как обработать результат](#kak-obrabotat-rezultat)"
{% endhint %}

## Какие требования сервиса Robokassa к чат-ботам

Официальный ответ сервиса Robokassa:

> Вы можете разместить товар на маркете с описанием и ценником и принимать оплату в боте, можете сделать одностраничник с описанием, ценником, контактными данными и указанием, что доставка товара/оказания услуги электронное. У нас должна быть привязка к товару на маркете или к сайту, т.к. что Вы продаете продает в своем боте и в каком боте мы - мы не можем знать.
>
> Ссылку на телеграммы канал в качестве URL мы не включаем. Также требования к наполнению сайта: "Сайт должен быть функционирующий, с заполненным контентом, работающими внутренними ссылками.
>
> Товары и услуги на Вашем сайте должны быть подробно описаны: Описание должно включать характеристики предлагаемых товаров и услуг, их потребительские свойства и актуальную цену.
>
> На Вашем сайте обязательно должна быть размещена актуальная информация: телефон, e-mail, правила оформления и сроки исполнения заказа, условия его оплаты, доставки и возврата.
>
> Каждый сайт рассматривается индивидуально.
>
> С уважением, ROBOKASSA.

<figure><img src="https://4216716816-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LxKl4rC_EcwBAz40Qn_%2Fuploads%2F7lnmAtpJAgeZhTkejNDg%2Fimage.png?alt=media&#x26;token=462ecf85-4137-498f-8006-8953f5c68346" alt=""><figcaption><p>Robokassa рекомендует</p></figcaption></figure>

## Robokassa в Telegram

### Подключение платежей в Telegram

Данный раздел рассмотрен [тут](https://docs.salebot.pro/integracii/platezhnye-sistemy/broken-reference)

### Подключение тестового бота RobokassaPaymentTestBot.

1. При выборе Connect Robokassa Test пользователь переходит в бота RobokassaPaymentTestBot.
2. Пользователь нажимает кнопку /начать.
3. Пользователь получает ответ от бота «Введите ID магазина”.
4. Необходимо ввести id от магазина в сервисе Robokassa.
5. Бот попросит подтверждение, подтверждающее владение магазином посредством отправки смс на номер, указанный в магазине: «Отправлена СМС на номер \*%%%%» где %%%% - последние 4 цифры телефона
6. Пользователь вводит 6-значный код.
7. Если все успешно то пользователю покажется сообщение: “Вы успешно подключили бота @BotName к Robokassa. @BotFather сообщит Вам новый токен.”
8. После этого в BotFather появляется платежный токен, к которому подключаются платежи.

### Подключение live- бота RobokassaPaymentBot.

1. При выборе Connect Robokassa Live пользователь переходит в бота RobokassaPaymentBot,
2. Пользователь нажимает кнопку /начать.
3. Пользователь получает ответ от бота «Введите ID магазина”.
4. Необходимо ввести id от магазина в сервисе Robokassa.
5. Бот попросит подтверждение, подтверждающее владение магазином посредством отправки смс на номер, указанный в магазине: «Отправлена СМС на номер \*%%%%», где %%%% - последние 4 цифры телефона
6. Пользователь вводит 6-значный код.
7. Если все успешно то пользователю покажется сообщение: “Вы успешно подключили бота @BotName к Robokassa. @BotFather сообщит Вам новый токен.”
8. После этого в BotFather появляется платежный токен, к которому подключаются платежи.

Обработка результатов оплаты аналогична описанному [тут](#kak-poluchit-uvedomlenie-o-rezultate-oplaty)
